1. 程式人生 > >CodeForces 746D Green and Black Tea 有坑

CodeForces 746D Green and Black Tea 有坑

swap div codeforce span printf 解釋 fine %d space

題意很明顯不解釋

做法就是直接模擬

有一個坑的地方就是中間值會爆ll WA50

 1 #include<bits/stdc++.h>
 2 #define cl(a,b) memset(a,b,sizeof(a))
 3 #define debug(a) cerr<<#a<<"=="<<a<<endl
 4 using namespace std;
 5 typedef long long ll;
 6 typedef pair<int,int> pii;
 7 
 8 const int maxn=1e5+10
; 9 10 int main() 11 { 12 int n,k,a[2]; 13 scanf("%d%d%d%d",&n,&k,&a[0],&a[1]); 14 int mn=min(a[0],a[1]); 15 int mx=max(a[0],a[1]); 16 debug((mn+1)*k),debug(mx); 17 if(1ll*(mn+1)*k<mx) //這裏(mn+1)*k會爆ll 18 { 19 printf("NO\n"); 20 return
0; 21 } 22 char letter[2]= {G,B}; 23 string ans=""; 24 if(a[0]>a[1]) 25 { 26 letter[0]=B,letter[1]=G; 27 swap(a[0],a[1]); 28 } 29 int cnt=0; 30 for(int i=0; i<n; i++) 31 { 32 if(a[0]<=a[1] && cnt<k) 33 {
34 ans+=letter[1]; 35 a[1]--,cnt++; 36 } 37 else 38 { 39 ans+=letter[0]; 40 cnt=0,a[0]--; 41 } 42 } 43 cout<<ans.substr(0,n)<<endl; 44 return 0; 45 }/* 46 47 5 1 3 2 48 49 7 2 2 5 50 51 */

CodeForces 746D Green and Black Tea 有坑