首页 > 代码库 > CodeForces 746D Green and Black Tea 有坑

CodeForces 746D Green and Black Tea 有坑

题意很明显不解释

做法就是直接模拟

有一个坑的地方就是中间值会爆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会爆ll18     {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         else38         {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 248 49 7 2 2 550 51 */

 

CodeForces 746D Green and Black Tea 有坑