2016级新生周赛(二)题解

lolizlm的数字//此题循环输入累加求和同时求出最大最小值分别保存然后判断sum%N是否等于0即可kx的压缩#include#include#includeconstintNN=20500;chara[NN];//因为字符串读入方便,所以用char数组存储。intmain(){memset(a,0,sizeof(a));intn;scanf("%d",&n);    scanf("%s",a1);//字符读入intflag=0;intsum=0;    intlast=0;for(inti=1;i<=nn;i)    {    if(flag0)//第一个字符的    {    if(a[i]'1')//判断第一个字符是不是0是,则累加sum  否则输出0因为题目要求说第一个数字一定是0的个数,后面交替进行输出    {    printf("0");    last=1;    sum;    }    elseif(a[i]'0')    {    last=0;    sum;    }    flag=1;    }    else//除了第一个字符的{if(a[i]-'0'last)sum;    else{printf("%d",sum);sum=1;}    }    if(a[i]=='0')last=0;    elselast=1;    }    printf("%d",sum);          return0;} 首先把nn个字符读入到数组a[]中,除了0就是1,那么第一个字符特殊处理下,因为题目要求是第一个数字一定是0的个数,我们用last保存i这个位置的上一个字符是0还是1,与当前的字符比较,相同则sum否则输出sum然后sum=1(因为当前字符就是一个)txt的号码原题题解&代码:https://yq.aliyun.com/articles/19153Let'splay 很容易发现规律,输入的N是奇数时就是AA偶数是FF分析如下:我们对该棋盘用12的长方形进行覆盖。若n为偶数,那么必存在一个覆盖方案。此时先手选择走向与当前状态同处一个长方形内的另一点。这样,无论先手怎么移动,先手必存在一种移动方法。由于这个游戏无平局,所以先手必胜。若n为奇数,我们考虑同样的方法,将nn的棋盘除去起点的nn-1格进行覆盖。之后无论先手怎么走,后手都存在一种移动方案,所以先手必败。#includeintmain(){    intn;    while(scanf("%d",&n)!=EOF){//多样例数据输入方式        if(n0)break;        if(n%20)printf("AA\");        elseprintf("FF\");    }    return0;}ASimpleMathProblem直接看代码吧求定积分而已#includeintmain(){intn;doublea,b,c,x,p,q;scanf("%lf%lf%lf%lf%lf",&a,&b,&c,&p,&q);x=p;doubleaa=0.50000axx(1.0/3.0)bxxx(0.250000)cxxxx;x=q;doublebb=0.50000axx(1.0/3.0)bxxx(0.250000)cxxx*x;printf("%.3f\",bb-aa); return0;}AddWater会两点间距离公式然后开方就行了。。。。

posted @ 2022-10-22 18:22  河南工业大学算法协会  阅读(17)  评论(0编辑  收藏  举报