CF1176C Lose it!(简单题)

题目链接:http://codeforces.com/contest/1176/problem/C

题意:https://www.luogu.com.cn/problem/CF1176C

思路:

把这6个数按顺序排成一排,传递一样,比如现在是15,就把8的个数-1,15的个数+1,就代表这一个序列传到了15了,最后只要统计42的个数就行了。

代码:

#include 
#define inf 0x3f3f3f3f
#define eps 1e-7
typedef long long ll;
using namespace std;
const ll infll = 0x3f3f3f3f3f3f3f3fll;
const int maxn = 1e5 + 5;
const int mod = 1e9 + 7;

int n,a[50];
int main (){
    cin>>n;
    for (int i=0;i>x;
        if (x==4) a[x]++;
        else if (x==8&&a[4]){
            a[4]--;
            a[x]++;
        }
        else if (x==15&&a[8]){
            a[8]--;
            a[x]++;
        }
        else if (x==16&&a[15]){
            a[15]--;
            a[x]++;
        }
        else if (x==23&&a[16]){
            a[16]--;
            a[x]++;
        }
        else if (x==42&&a[23]){
            a[23]--;
            a[x]++;
        }
    }
    cout<

 

你可能感兴趣的:(思维,水题,acm竞赛)