栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3505 Yet Another Set of N...

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3505 Yet Another Set of N...

#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int n;long long p3[32], nn[32];char a[32], b[32];long long geti(const char *x){int i, j, last = 0;long long res = 0;for ( i = 0; x[i]; ++i ){int ai = x[i] & 15;++res;for ( j = 0; j < 4; ++j )if ( j < ai && j != last )res += nn[n-1-i];last = ai;}return res;}int main(){int i, j;long long k;for ( p3[i = 0] = 1; ++i <= 20; )p3[i] = 3 * p3[i-1];for ( i = 0; i <= 20; ++i )nn[i] = (p3[i] - 1 >> 1) * 3 + 1;while ( scanf("%d%lld", &n, &k) == 2 && n ){int last;long long r;scanf(" %s", b);memset(a, 0, sizeof(a));r = geti(b) - k;for ( last = i = 0; i < n; ++i ){for ( j = 4; --j >= 0; )if ( j != last ){a[i] = '0' + j;if ( geti(a) <= r )break;}if ( j < 0 ){a[i] = 0;break;}last = j;}puts(a);}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号