A.能活多少天

wbt从小就喜欢看金庸老师的作品,不久前金庸老师逝世,享年九十四岁,在得知这个消息之后,wbt心痛不已,并且对生命有了一些思考,他想知道他还可以活多少天,输入一个日期,表示假设他离开人世的时间,今天是2018年11月9日,请计算他还可以活多少天


Input

输入一个日期,包括三个数 ,年 y,月 m,日d (2018<=y<9999, 0<m<=12,0<d<=31 且 输入的该日期在2018年11月9日之后)


Output

输出一个整数,表示她还可以活多少天

Sample Input

2018 11 11

Sample Output

2

HINT

飞雪连天射白鹿,笑书神侠倚碧鸳。

Source

ACM_LZJ

首A代码(wanan)

#include<stdio.h>
​
int main()
{
    int y,m,d,i;
    int count=0;
    scanf("%d %d %d",&y,&m,&d);
    if(y==2018)
    {
        if(m==11)
        {
            count=d-9;
        }
        else if(m==12)
        {
            count=21+d;
        }
    }else if(y>2018)
    {
        count+=52;
        for(i=2019;i<y;i++)
        {
            if(i%400==0||i%100!=0&&i%4==0)
            {
                count+=366;
            }else count+=365;
        }
        for(i=1;i<m;i++)
        {
            if(y%400==0||y%4==0&&y%100!=0)
            {
                if(i==2)
                {
                    count+=29;
                }
            }else 
           {
                if(i==2)
                {
                    count+=28;
                }
           }
           if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
           {
            count+=31;
           }else if(i!=2)
           {
            count+=30;
           } 
        }
        count+=d;
    }   printf("%d",count); 
    return 0;
}

B.上去揍ta _

gxd今天去府衙逛街,在公交车上他遇见了一老媪,老媪睡着了,当她醒来发现坐过站了之后立即要求司机停车,但是公交公司规定正常情况下不到站牌是不可以停车开门的,可老媪非要司机停车,还扯司机的方向盘,用手机打司机的头,gxd看到了,从内心涌上一股恐惧感,感觉自己再不有所行动可能就要坠入死亡的深渊了,然后他二话不说一个跨步飞上去就把老媪拉过来了......左勾拳,右勾拳,无影腿一顿暴打,打的老媪哭爹喊娘,于是乎gxd就跟老媪约定,两个人每人说一首英文歌名,谁的歌名里包含的‘w’(包含大小写)字符比较多,谁就胜,如果gxd胜了,老媪就要向全车的人道歉,并向司机赔偿精神损失费,如果老媪胜了,gxd就要带老媪去医院包扎伤口(老媪被gxd打的跪地上起不来),现在请你来评判一下他们谁胜。

Input

输入两个字符串分别是gxd的歌名,老媪的歌名(字符串长度小于1000)


Output

如果gxd歌名里w或W的数量较多****或等于老媪歌名中的数量,输出 I'm the best 否则,输出 You take me to the hospital

Sample Input

Welcome to NewYork
Way Back Home

Sample Output

I'm the best

HINT

路见不平一声吼啊,该出手时就出手啊

首A代码(ZIFEI)

#include<stdio.h>
#include<string.h>
char a[100000];
char b[100000];
int main()
{
    gets(a);
    gets(b);
    int len1=strlen(a);
    int len2=strlen(b);
    int k=0;
    int s=0;
    for(int i=0;i<len1;i++)
    {
        if(a[i]=='w'||a[i]=='W');
        {
            k++;
        }
    } 
    for(int i=0;i<len2;i++)
    {
        if(b[i]=='w'||b[i]=='W');
        {
            s++;
        }
    }
    if(k>s)
    {
        printf("I'm the best");
    }
    if(s>k)
    {
        printf("You take me to the hospital");
    }
}

C.后缀自动机next指针dag上求sg函数

wpm又来找wbt玩游戏了,wpm精修棋艺,拿来了一个NN***的棋盘,但是按wpm的奇葩思想,他的下棋规则是这样的:只有两颗棋子,wpm拿白子,wbt拿黑子,wpm的棋子在(1,1)的位置,wbt的棋子在(n********,n)的位置,只能向上下左右斜上斜下8个位置进行移动,现在wpm和wbt轮流走,wpm先走,给你他们想要争夺的位置(x,y)**,谁最先能到达(x,y)呢

Input

多组测试样例,给你一个 **n (2<= n <= 10^18) ,表示棋盘位置,之后给你两个数x,y**表示的是要争夺的地点。(1≤x,y≤n)

Output

如果wpm先到输出White , 否则输出 Black

Sample Input

4
2 3
5
3 5
2
2 2

Sample Output

White
Black
Black

HINT

** 第一组样例:**

** 白棋(2,2) ->黑棋(3,3),->白旗(2,3) 白棋胜利**



第二组样例:白棋(2,2) - >黑棋 (4,4) -> 白棋(3,3)->黑棋(3,5)黑赢



第三组样例

黑棋直接在(2,2)黑赢

首A代码(4eyebird)

#include <stdio.h>
int main()
{
    long long n;
    while(scanf("%lld",&n)!=EOF)
    {
        long long x,y;
        scanf("%lld %lld",&y,&x);
        if(y<=n+1-x)printf("White\n");
        else printf("Black\n");
    }
    return 0;
}

D.爬楼梯那个爬楼梯

临近新生测试了,LuoZhuang想去ACM找学长问问题,但是他首先要爬上一栋多层楼的楼梯。每当LuoZhuang爬上楼梯,他就从1开始,数到这层楼梯上的台阶数。他把每一个数字都大声说出来。例如,如果他爬上两层的楼梯,第一层楼梯有4个台阶,第二层楼梯有6个台阶,他将宣布数字1,2,3,4,1,2,3,4,5,6 。你得到了所有LuoZhuang读出来的数字。你要求出他爬了多少楼梯?同时,输出每层楼梯的楼梯数量。给定的序列是小阿花攀登一层或多层楼梯时读出的有效序列。

Input

第一行输入一个整数n,表示LuoZhuang爬的所有楼梯数目(1<=n<=10000) 接下来一行输入一个序列,表示LuoZhuang读出来的数字序列

Output

第一行输出LuoZhuang爬上的楼梯层数 第二行输出每层楼梯的数目

Sample Input

7
1 2 3 1 2 3 4

Sample Output

2
3 4

首A代码(wanzw)

#include<stdio.h>
int main()
{
    int n,a[10010],b=0,c;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==1)
        b++;
    }
    printf("%d\n",b);
    for(int i=2;i<=n+1;i++)
    {
        if(a[i]==1||a[i]==0)
        {
            c=i-1;
            printf("%d ",a[c]);
        }
    }
}

E.浩然正气

余囚北庭,坐一土室。室广八尺,深可四寻。单扉低小,白间短窄,污下而幽暗。当此夏日,诸气萃然:雨潦四集,浮动床几,时则为水气;涂泥半朝,蒸沤历澜,时则为土气;乍晴暴热,风道四塞,时则为日气;檐阴薪爨,助长炎虐,时则为火气;仓腐寄顿,陈陈逼人,时则为米气;骈肩杂遝,腥臊汗垢,时则为人气;或圊溷、或毁尸、或腐鼠,恶气杂出,时则为秽气。叠是数气,当之者鲜不为厉。而予以孱弱,俯仰其间,於兹二年矣,幸而无恙,是殆有养致然尔。然亦安知所养何哉?孟子曰:「吾善养吾浩然之气。」彼气有七,吾气有一,以一敌七,吾何患焉!况浩然者,乃天地之正气也,作正气歌一首。


天地有正气,杂然赋流形。


下则为河岳,上则为日星。


於人曰浩然,沛乎塞苍冥。


皇路当清夷,含和吐明庭。


时穷节乃见,一一垂丹青。


在齐太史简,在晋董狐笔。


在秦张良椎,在汉苏武节。


为严将军头,为嵇侍中血。


为张睢阳齿,为颜常山舌。


或为辽东帽,清操厉冰雪。


或为出师表,鬼神泣壮烈。


或为渡江楫,慷慨吞胡羯。


或为击贼笏,逆竖头破裂。


是气所磅礴,凛烈万古存。


当其贯日月,生死安足论。


地维赖以立,天柱赖以尊。


三纲实系命,道义为之根。


嗟予遘阳九,隶也实不力。


楚囚缨其冠,传车送穷北。


鼎镬甘如饴,求之不可得。


阴房阗鬼火,春院闭天黑。


牛骥同一皂,鸡栖凤凰食。


一朝蒙雾露,分作沟中瘠。


如此再寒暑,百疠自辟易。


哀哉沮洳场,为我安乐国。


岂有他缪巧,阴阳不能贼。


顾此耿耿存,仰视浮云白。


悠悠我心悲,苍天曷有极。


哲人日已远,典刑在夙昔。


风檐展书读,古道照颜色。

这是南宋诗人文天祥在狱中写的一首五言古诗《正气歌》,可是这和你AC这题有什么关系吗?


你只需要输出诗中有多少个汉字即可,不包括序。


Input

没有输入。

Output

输出一行一个整数表示答案。

首A代码(ZIFEI)

#include<stdio.h>
int main()
{
    printf("300"); 
}

F.wbt打工送外卖

众所周知,南阳理工学院有n栋宿舍楼,宿舍楼编号为1到n,每栋宿舍都有几个房间,第i栋有ai个房间。

wbt需要送餐到房间,但是送餐单上只写了是学院的第几个房间,并没有写在第几栋楼,在这种情况下,假设第一栋楼的编号为1到a1,然后第二栋楼编号为a1+1 到a1+a2,以此类推。

根据所有n栋楼的房间个数,对m个的送餐单,确定具体的宿舍楼号和该宿舍楼的房间号。

Input

第一行包含两个整数n和m (1≤n, m≤2e5)——宿舍楼的数量和送餐单的数量。

第二行包含一个序列a1,a2,…,an(1≤ai≤1e10),其中ai等于第i个宿舍楼的房间数。

第三行包括b1,b2,…,bm(1≤bj≤a1+a2+⋯⋯an),其中bj为第j个送餐单的房间号(所有宿舍的所有房间)。


Output

输出m行。每行打印两个整数f和k——宿舍楼号f(1≤f≤n)和房间号kk(1≤k≤af)来送餐

Sample Input

3 6
10 15 12
1 9 12 23 26 37

Sample Output

1 1
1 9
2 2
2 13
3 1
3 12

HINT


在第一个例子中,饭应该按照以下顺序发送:


第1号宿舍楼的第1个房间


第1号宿舍楼的第9个房间


第2号宿舍楼的第2个房间


第2号宿舍楼的第13个房间


第3号宿舍楼的第1个房间


第3号宿舍楼的第12个房间

首A代码(yq11037)

#include<stdio.h>
const int maxn=1e6+10;
long long a[maxn],b[maxn],c[maxn],d[maxn],e[maxn];
int main()
{
    long long n,m;
    scanf("%lld %lld",&n,&m);
    for(long long i=0;i<n;i++){
        scanf("%lld",&a[i]);
        b[i+1]=a[i]+b[i];
    }
    for(long long i=0;i<m;i++){
        scanf("%lld",&c[i]);
        long long l=0,r=n,mid;
        while(l<r){
            mid=(l+r+1)/2;
            if(b[mid]>=c[i]){
                r=mid-1;
            }else{
                l=mid;
            }
        }
        printf("%lld %lld\n",l+1,c[i]-b[l]);
    }
    return 0;
}

G.无限手套

你看了一眼戴着手套的灭霸。发现上面有6个宝石的位置。

力量(Power)宝石为 紫色(purple),

时间(Time)宝石为 绿色(green),

时空(Space)宝石为 蓝色(blue),

灵魂(Soul)宝石为 橙色(orange),

现实(Reality)宝石为 红色(red),

心灵(Mind)宝石为 黄色(yellow),

找到在你看到的宝石的颜色来确定没有宝石的名字。

Input

在输入的第一行有一个整数n(0≤n≤6) 宝石的数量。

在接下来的n行中,你会看到宝石的颜色。

表示颜色的单词有:紫色(purple)、绿色(green)、蓝色(blue)、橙色(orange)、红色(red)、黄色(yellow)。保证所有的颜色都是不同的。所有颜色都用小写英文字母表示。

Output

在第一行输出一个整数m(0≤m≤6) 缺失宝石的数量。

找出没有出现的宝石。用来命名的词有:1.Power, 2.Time, 3.Space, 4.Soul, 5.Reality, 6.Mind。词汇按照所给顺序打印。保持首字母大写,其他字母小写。

Sample Input

4
red
purple
yellow
orange

Sample Output

2
Time
Space

首A代码(ZIFEI)

#include<stdio.h>
#include<string.h>
char a[100];
int b[100];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%s",a);
        if(a[0]=='p')
            b[0]++;
        if(a[0]=='g')
            b[1]++;
        if(a[0]=='b')
            b[2]++;
        if(a[0]=='o')
            b[3]++;
        if(a[0]=='r')
            b[4]++;
        if(a[0]=='y')
            b[5]++; 
    } 
    int k=0;
    for(int i=0;i<6;i++)
    {
        if(b[i]==0)
        k++;
    }
    printf("%d\n",k);
    if(b[0]==0)
    {
        printf("Power\n");
    }
    if(b[1]==0)
    {
        printf("Time\n");
    }
    if(b[2]==0)
    {
        printf("Space\n");
    }
    if(b[3]==0)
    {
        printf("Soul\n");
    }
    if(b[4]==0)
    {
        printf("Reality\n");
    }
    if(b[5]==0)
    {
        printf("Mind\n");
    }
}

H.xzl喜欢yy

xzl非常喜欢yy,以至于英文字母他只喜欢“x”和“y”。因此xzl喜欢只含有“x”和“y”的字符串, 且字符串中不能出现两个连续的“x”。 请你求出有多少种长度为n的字符串是xzl喜欢的字符串。答案对1e9+7取模。

Input

输入一个整数n。
1<=n<=100000

Output

输出一个整数表示答案。

Sample Input

3

Sample Output

5

HINT


xyy,xyx,yyy,yyx,yxy

首A代码(ZIFEI)

#include<stdio.h>
int a[1000000];
int main()
{
    int n;
    scanf("%d",&n);
    a[1]=2;
    a[2]=3;
    for(int i=3;i<=n;i++)
    {
        a[i]=(a[i-1]+a[i-2])%1000000007;
    }
    printf("%d",a[n]);
}

I.wbt寝室装修

众所周知,寝室一般呈长方形,大小为 n X m 米, 在积分赛这个需要纪念的日子里,wbt决定装修寝室,选择的地板砖的尺寸为 a X a大小,铺满寝室至少需要多少块地板砖?可以覆盖比寝室面积大的表面,但寝室必须被完全覆盖,且不允许打破地板转(多余的部分塞墙里也不能打破),石板的边缘应与寝室边缘平行

Input

输入共一行,三个数字,分别是n, m, a

Output

输出需要的地板数

Sample Input

6 6 4

Sample Output

4

首A代码(ZIFEI)

#include<stdio.h>
int main()
{
    long long n,m,a;
    scanf("%lld %lld %lld",&n,&m,&a);
    long long s,k; 
    if(n%a==0)
    {
        s=n/a;
    }
    else
    {
        s=(n/a)+1;
    }
    if(m%a==0)
    {
        
        k=m/a;
    }
    else
    {
        k=(m/a)+1;
    }
    printf("%lld",k*s);
}

0 条评论

目前还没有评论...