2021-1-5
Codeforces Round #535 (Div. 3)(前三題)
A. Two distinct points
給出兩個區(qū)間,輸出兩個數,滿足兩個數分別在兩個區(qū)間內且這兩個數不相等。
int main() {read(n);while(n--) {read(a);read(b);read(c);read(d);//這里用了快讀int x, y;x = (int)ceil((a+b)/2.0); //選擇比較中位數,其實不用這么麻煩y = (int)ceil((c+d)/2.0);if (x == y) cout << x << " " << y-1 << endl;else cout << x << " " << y << endl;} }B. Divisors of Two Integers
給出n個數,由兩個數和他們的因數組成。
int n, a[MAXN]; int main() {read(n);//快讀for(int i=1;i<=n;i++) cin >> a[i];sort(a+1, a+n+1); //√ int y=a[n], z = 0, x;for(int j=n;j>0;j--) {if (y%a[j] != 0) {x = a[j];break;}else if (y/a[j] == z) {x = a[j];break;}else {z = y / a[j];}} cout << x << " " << y << endl; }C. Nice Garland
給出一個字符串,這個字符串只由三個大寫字母"B",“G”,"R"構成,然后問你最少需要修改多少個字符,可以使得這個串成為一個“好串”。
int n,ans,ansi; char ch[maxn]; char s[6][4]={"RGB","RBG","GRB","GBR","BRG","BGR"};int main(){scanf("%d%s",&n,ch);ans=n;for(int i=0;i<6;i++){int cnt=0;for(int j=0;j<n;j+=3){cnt+=(ch[j]!=s[i][0])&(j<n);cnt+=(ch[j+1]!=s[i][1])&(j+1<n);cnt+=(ch[j+2]!=s[i][2])&(j+2<n);}if(cnt<ans)ans=cnt,ansi=i;}printf("%d\n",ans);for(int i=0;i<n;i+=3){if(i<n) printf("%c",s[ansi][0]);if(i+1<n) printf("%c",s[ansi][1]);if(i+2<n) printf("%c",s[ansi][2]);}return 0; }總結
- 上一篇: 问题贴 jQuery插件nicescr
- 下一篇: IOS 上传ipa文件失败