Qnumber
来源:互联网 发布:用户充值管理系统php 编辑:程序博客网 时间:2024/05/23 14:50
A:Qnumber
- 描述
12月23日是小H的女神的生日,最近小H都在烦恼着该送她什么样的生日礼物,但小H情商太低,始终没能想到一个很好的主意。
这天晚上,小H默默地对着1223这个数字看了很久很久,发现这个数字是一个ABBC的结构,而且A+1=B,B+1=C,他认为这种数非常有美感,于是称其为Q数。
“这还不够!”小H高呼,然后他就在Q数的基础上又定义了超Q数,即在Q数的基础上满足,组成这个数的B也为Q数。
小H开心的认为,许许多多的超Q数一定是一份很好的礼物,于是写下了一长串的超Q数,但是不幸的是,由于熬夜的原因,小H写下的数很多都并不是超Q数。于是小H找到了你,希望你能够帮助他找到哪些不是超Q数。
- 输入
- 第一行为一个整数N,表示小H写下的数的个数。
接下来的N行,每一行有一个位数不超过30的数,表示小H写下的每一个数。
N<=10 - 输出
- 对于每一个不是超Q数的输入,输出一行Pi,表示其在输出中的位置。\
- 直接模拟。
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm>#define Maxn 40using namespace std;char s[Maxn][Maxn],ss[Maxn];int a;int b,b1;int c,n,len1=0;int len[Maxn];bool check4(){ if(a==b-1&&a==b1-1&&a==c-2)return true;return false;}bool check3(int x){ int i; a=b=c=b1=0; if(x%4==0){for(i=x-x/4+1;i<=x;i++)c=c*10+(ss[i]-'0');for(i=x/2+1;i<=x-x/4;i++){b=b*10+(ss[i]-'0');}for(i=x/4+1;i<=x/2;i++){b1=b1*10+(ss[i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(ss[i]-'0');}else if(x%4==1){ for(i=x-x/4;i<=x;i++)c=c*10+(ss[i]-'0');for(i=x/4*2;i<=x-x/4-1;i++){b=b*10+(ss[i]-'0');}for(i=x/4+1;i<=x/4*2+1;i++){b1=b1*10+(ss[i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(ss[i]-'0');}else if(x%4==3){ for(i=x-x/4;i<=x;i++)c=c*10+(ss[i]-'0');for(i=x/4*2+2;i<=x-x/4-1;i++){b=b*10+(ss[i]-'0');}for(i=x/4+1;i<=x/4*2+1;i++){b1=b1*10+(ss[i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(ss[i]-'0');}if(check4())return true;return false;}bool check2(){ if(a==b-1&&a==b1-1&&c-a==2)if(check3(len1))return true;return false;}bool check(int x,int dep){ int i,j; a=b=c=b1=0; if(x%4==0){ int j=0;for(i=x-x/4+1;i<=x;i++)c=c*10+(s[dep][i]-'0');for(i=x/2+1;i<=x-x/4;i++){b=b*10+(s[dep][i]-'0');ss[++j]=s[dep][i];}for(i=x/4+1;i<=x/2;i++){b1=b1*10+(s[dep][i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(s[dep][i]-'0');len1=x/4;}else if(x%4==1){ for(i=x-x/4;i<=x;i++)c=c*10+(s[dep][i]-'0');for(i=x/4*2;i<=x-x/4-1;i++){b=b*10+(s[dep][i]-'0');ss[++j]=s[dep][i];}for(i=x/4+1;i<=x/4*2+1;i++){b1=b1*10+(s[dep][i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(s[dep][i]-'0');len1=x/4;}else if(x%4==3){ for(i=x-x/4;i<=x;i++)c=c*10+(s[dep][i]-'0');for(i=x/4*2+2;i<=x-x/4-1;i++){b=b*10+(s[dep][i]-'0');ss[++j]=s[dep][i];}for(i=x/4+1;i<=x/4*2+1;i++){b1=b1*10+(s[dep][i]-'0');}for(i=1;i<=x/4;i++)a=a*10+(s[dep][i]-'0');len1=x/4+1;}if(check2())return true;return false;}int main(){ int i; scanf("%d",&n);for(i=1;i<=n;i++){ scanf("%s",s[i]+1);len[i]=strlen(s[i]+1);if(!check(len[i],i))printf("%d\n",i);}return 0;}
0 0
- Qnumber
- ajaxfileupload 可带多参数异步上传
- Layered Windows
- handle与多线程
- Finding the Right Consumer: Optimizing for Conversion in Display Advertising Campaigns
- java--判断三个数中的最大值
- Qnumber
- sublime配置
- 转载《唯“简”不破,Apple Watch App的设计之道》以及一些读后感。
- Python编码和Unicode
- socket shutdown和close的区别
- 开始使用 Python 开发 Web 应用
- 第八章 标准IO库
- hanle总结
- Python IDE:PyCharm中的那些实用功能