CodeFoeces-618A

2018-02-24  本文已影响0人  ss5smi

题目

原题链接:A. Slime Combining

题意

有n个1,临近的两个相同值v则合并为v+1。

代码

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n,s[100000]={0};
    cin>>n;
    int l=0;
    while(n--) {
        s[l++]=1;
        while(l>1 && s[l-1]==s[l-2]) {
            s[l-2]++;
            s[l-1]=0;
            l--;
        }
    }
    for(int i=0;i<l;i++){
        if(s[i]>0) printf("%d",s[i]);
        if(i!=l-1) printf(" ");
    }
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读