Codeforces Round #386 (Div. 2) D
来源:互联网 发布:软件测试招聘 石家庄 编辑:程序博客网 时间:2024/06/01 23:33
先插多的,再插少的;
关键在于先整体赋值这种思路
代码如下
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int main(){int n,k,a,b,p;char aa='G',bb='B';scanf("%d %d %d %d",&n,&k,&a,&b);if(b>a) {swap(a,b); swap(aa,bb); //保证a为多的; }char s[100005];memset(s,0,sizeof(s));for(int i=0;i<n;i++)s[i]=aa;for(int i=k;i<n;i+=(k+1)){s[i]=bb;b--;if(b==0) { p=i; break; }}if(b==0&&(n-1-p<=k))printf("%s\n",s);else if(b==0&&(n-1-p>k))printf("NO\n");else {for(int i=0;i<n;i++){if((i==0&&s[1]==aa&&s[i]==aa)||(i==n-2&&s[n-1]==aa&&s[i]==aa)||(s[i-1]==aa&&s[i+1]==aa&&s[i]==aa)){s[i]=bb;b--;}if(b==0) break;}if(b==0) printf("%s\n",s);else printf("NO\n");}}
别人写的,更简单
#include<bits/stdc++.h>using namespace std;int main(){ int N,K,a,b; char B = 'B',G = 'G'; scanf("%d %d %d %d",&N,&K,&a,&b); if(a > b) swap(a,b),swap(B,G); string st(N,B); for(int i = K ; i < N ; i += K + 1){ if(a == 0){ printf("NO\n"); return 0; } st[i] = G; a--; } for(int i = 0 ; i < N && a > 0 ; i++){ if(st[i] == G || (i > 0 && st[i - 1] == G) || (i + 1 < N && st[i + 1] == G)) continue; st[i] = G; a--; } cout << st; return 0;}
阅读全文
0 0
- Codeforces Round #386 (Div. 2) D
- Codeforces Round #386 (Div. 2) D
- Codeforces Round #386 (Div. 2)D. Green and Black Tea
- Codeforces Round #386 (Div. 2) A+B+C+D!
- Codeforces Round #386 (Div. 2) D. Green and Black Tea
- Codeforces Round #103 (Div. 2) D
- Codeforces Round #104 (Div. 2) D
- Codeforces Round #105 (Div. 2) D
- Codeforces Round #139 (Div. 2) D. Snake
- Codeforces Round #155 (Div. 2) D-rats
- Codeforces Round #159 (Div. 2) D sum
- Codeforces Round #184 (Div. 2) D、E
- Codeforces Round#186(Div 2) D
- codeforces Round # 187(Div.2) D
- Codeforces Round #191 (Div. 2) D
- Codeforces Round #194 (Div. 2) D. Chips
- Codeforces Round #209 (Div. 2) <A-D>
- Codeforces Round #218 (Div. 2) D. Vessels
- 5.字符串:各种奇葩的内置方法/格式化
- 码农不识贝叶斯,虽知数据也枉然
- 查看Ubuntu 版本
- 正则表达式——基础部分
- Python基础语法之—— callable(object)
- Codeforces Round #386 (Div. 2) D
- 基础题目选解+数据结构基础
- [leetcode]103. Binary Tree Zigzag Level Order Traversal@Java解题报告
- C++基础之类的虚继承
- 范数
- C++中__int64的使用
- zhx's contest HDU
- BCD ASCII 相互转换
- Dijsktra模板