2050 Programming Competition——第一题,开场白

 

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12147    Accepted Submission(s): 3502

Problem Description

来自世界各地的年青人在 https://2050.org.cn 握手团聚, 他们是航空航天的新生代,编程大赛的优胜者,35岁以下的创新者,科技公司的创始人,展望未来的科学家,天马行空的艺术家...... TA们期待在这里与所有人分享交流,给彼此灵感,给未来答案。

我们想要用10个题目,大声喊出年青人的声音。我们希望和大家一起用技术创造一个更好的2050。

第一道题目,我们来玩一个数字游戏。
给出一个数字 n,我们想知道 n 是不是若干个 2050 依次拼接起来的。

Input

第一行一个正整数 T (T≤10) 表示数据组数。
对于每组数据,一行一个正整数 n (1≤n≤10100000)。

Output

对于每组数据,Yes 表示 n 是若干个 2050 依次拼接起来的,No 表示不是。

Sample Input

2 
2050 
205020

Sample Output

Yes

No

 

挨个判断就行,需要判断每个是否是对应的数字,再判断一下长度是否为四的倍数;

代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
char bok[4]={'3','2','8','4'}; //此数组代表2,0,5,0分别加上对应的第几位,2+1,0+2,5+3,0+4 
int main(){
    int t;
    scanf("%d",&t);
    getchar(); //吸收回车 
    while(t--){
        int len=0,bj=1,bi1=0;
        while(1){
            len++; //标记长度,用来判断输入的字符串长度是否为四的倍数 
            char str1=getchar();
            if(str1=='\n'||str1=='\r'){
                if(len==1&&bj==1){
                    cout<<"Yes"<<endl;
                    len=0;
                    bj=1;
                }else{
                    cout<<"No"<<endl;
                    len=0;
                    bj=1;
                }
                break;
            }
            if(bj==0){ //bi1代表字符串是否已经出现错误,其值若为0代表已经出先现错误,1为未出现错误 
                continue;
            }
            if((str1+len)!=bok[len-1]){  //判断此数位上的数是否正确 
                bj=0;
            }
            if(len==4){   //若len等于四,更新为0 
                len=0;
            }
        }
    } 
    return 0;
} 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值