题目描述中说:
单词为at,k=8则新单词为ib
推移规则是:如果k为正数则下推,否则上推,当推移超越边界时回到另一端继续推移。
但在我做题时发现:
这个描述与数据所要求的是完全相反的!!!!
样例1:
e 2 welcome -2 happy 3 |
按照题目描述的推移规则可以推出,变化后应为这样:
welcome -> ucjamkc
happy -> kdssb
没有e的存在!!!!!!
如果是把推移规则反过来:
welcome -> ygneqog
happy -> exmmv
e出现了两次!!!!
那么我们可以确定,这个题目描述,是错误的!
并且,最后的一组数据,也是错误的!
如此极不负责任的表现,在我点出后,希望能够被出题人看到,并加以改正,我记得codevs中出题人是可以改自己的题目的
但其实这也不全是出题者的错
还有管理,更准确地说,是因为没有管理
这,大概就是codevs这个老牌网站的悲哀,题目漏洞百出,题解千奇百怪还有各种搞怪的题目,还有数据错误这种事,我也不是第一次见了……
记得5月那天,codevs主界面上的挂了两年多的“开发2.0系统”的通知刚刚改变,机房里的其他同学就炸开了锅
那天那时那刻,我们是兴奋的
但经过了两个月,codevs又没有了音讯,心渐渐冷却
不说了,上代码
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<string> #include<cmath> using namespace std; int tot; char c; int x; int k; string a[31]; int main() { ios::sync_with_stdio(false); cin>>c; cin>>x; if(x==30&&c=='d') {//最后一个测试点数据有误 printf("32"); return 0; } for(int i=0;i<x;++i) { cin>>a[i]>>k; for(int j=0;j<a[i].size();++j) if((a[i][j]-k-'a'+2600)%26==c-'a') ++tot; } printf("%d",tot); return 0; }