码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #552 (Div. 3) C. Gourmet Cat (数学,模拟)

时间:2020-11-19 12:46:14      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:out   cin   round   pre   with   cout   去旅行   一起   最大   

技术图片

  • 题意:你要带着你的喵咪一起去旅行,你的喵在星期\(1,4,7\)吃喵粮\(x\),在星期\(2,6\)吃喵粮\(y\),在星期\(3,5\)吃喵粮\(z\),你只有\(a\)\(x\),\(b\)\(y\),\(c\)\(z\),一旦吃完旅行就结束了,问你选择星期几出发能使旅行的天数最长.

  • 题解:这已经是这个星期第三次碰到这种idea的题了,我们一定是旅行了几个(或者0)星期的循环后才会结束,所以先求出最多能跑几个循环,然后剩下的枚举求个最大值即可.

  • 代码:

    int a,b,c;
    // a:1 4 7 
    // b:2 6
    // c:3 5
    int d[7]={1,2,3,1,3,2,1};
    int ans;
     
    int main() {
        ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
        cin>>a>>b>>c;
     
        int mi=min({a/3,b/2,c/2});
     
        a-=mi*3;
        b-=mi*2;
        c-=mi*2;
     
        int cnt=0;
     
        rep(i,0,6){
        	int a1=a;
        	int b1=b;
        	int c1=c;
        	cnt=0;
        	rep(j,i,i+6){
        		int cur=j%7;
        		if(d[cur]==1) a1--;
        		if(d[cur]==2) b1--;
        		if(d[cur]==3) c1--;
        		if(a1==-1 || b1==-1 || c1==-1){
        			ans=max(ans,mi*7+cnt);
        			break;
        		}
        		cnt++;
        	}
        }
     
        cout<<ans<<‘\n‘;
     
        return 0;
    }
    

Codeforces Round #552 (Div. 3) C. Gourmet Cat (数学,模拟)

标签:out   cin   round   pre   with   cout   去旅行   一起   最大   

原文地址:https://www.cnblogs.com/lr599909928/p/13974049.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!