前言
第一次codeforces,发现几个问题:
1,不知道选language,结果用C语言的GCC提交几次都complilation error(编译错误)
2,审题不清,由于全英,虽然我会逐个翻译不认识的单词,依然存在直译导致错误理解的情况
3,做了一个小时才知道前两题是签到题,就是有手就行,比如第一题,一开始以为数据量要求30位以上,
搞了半天写了个函数,以为要自己求出圆周率小数点后30位,结果一看double最多到小数点后18位,
最后才知道从样例粘贴复制
第一题Polycarp and The Day of Pi(圆周率日)
Problem - A - Codeforces
下面是中文翻译
签到题真的很简单,还是div3的签到题,本题逐个对照,不一样break就可以
#include<iostream>
#include<cstdio> //scanf()
using namespace std;
int main()
{string s = "314159265358979323846264338327";int n;cin>>n;while(n) {string s1;cin>>s1;int ans = 0;for(int i = 0; i < s1.size(); ++i) {if(s1[i] != s[i]) break;else ans++;}cout<<ans<<endl;n--;}return 0;
}
第二题Taisia and Dice(太细亚和骰子)
问题 - B - 代码强制 (codeforces.com)
以下中文翻译
本题理解题意是关键,只求出一种可能的结果就行,不要求求所有可能
其次,要求一种可能,一个思路是,每次求最小的最大值m即可
#include<iostream>
using namespace std;
int main()
{int N;cin>>N;while(N) {int n, s, r;cin>>n>>s>>r;cout<<s - r<<" ";n = n - 1;while(n) {int m;if(r % n == 0)m = r / n; //最小的最大值elsem = r / n + 1;cout<<m<<" ";n--; r -= m;}cout<<endl;N--;}return 0;
}
总结
第三题都没时间看了,第一次问题太多
真的做题做少了,没做过什么比赛,最近的CSDN周赛,洛谷入门赛,AcWing周赛,codeforces div3是我以赛促学的开始,当然4月初还有个蓝桥杯