GDUFE ACM-1138

出题人这样不好吧

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

  作为编协的第一次月赛,肯定是要有防AK(ALL KILL)的题目的,只会Fibnacci数的出题人绞尽脑汁,没能想出一道难题,没办法只好在题面上做一些手脚(加密)。
其中有一道题题面是这样的:

hjxhs ia dvwpude z,he sn f snrzad deppahe, tbcm wytj ir sm zvdpzdxiq uus tjc ta n dijphqer rclu taw yl p.

比赛时,XX神对题面研究了两个多小时,终于找到一点点规律,破解出了前4个单词hjxhs ia dvwpude z,是given an integer n。但是比赛的时间已经不多了,XX神需要你的帮助。请帮他解密题面,并帮他ac了这个题。

Input:

输入包含多组数据(EOF)。对于每组数据,输入一个数字n(1<=n<=100000);

Output:

对于每组数据,输出答案。

Sample Input:

1

Sample Output:

1

这道题很水,但第一眼看时有点懵逼了,然后找到关键词Fibnacci数,然后就可以找到规律了。翻译题目如下:
 1 *#include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     char s[1000];
 7     int a[10000];
 8     a[1]=a[2]=1;
 9     for(int j=3;j<=999;j++)
10         a[j]=(a[j-1]+a[j-2])%26;
11     int j=1;
12     gets(s);
13     for(int i=0;i<strlen(s);i++)
14     {
15         if((s[i]==' ')||(s[i]==',')||(s[i]=='.'))
16         {
17             printf("%c",s[i]);
18             continue;
19         }
20         char ch=s[i]-a[j];
21         if(ch>'z')
22             ch-=26;
23         else if(ch<'a')
24             ch+=26;
25         j++;
26         printf("%c",ch);
27     }
28     printf("
");
29     return 0;
30 }

然后题目就很简单了,就是从1加到n;

AC代码如下:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     long long n,num;
 7     while(~scanf("%lld",&n))
 8     {
 9         num=0;
10         for(int i=0;i<=n;i++)
11             num+=i;
12         printf("%lld
",num);
13     }
14     return 0;
15 }


原文地址:https://www.cnblogs.com/2119662736lzj/p/6376089.html