CF:219A. k-String

来源:互联网 发布:北电网络 3903 编辑:程序博客网 时间:2024/05/29 19:14

每个不同字符的个数若能被阶数K整除,则能输出K阶相同字符串相连,否则不能,则输出“-1”。

#include<iostream>#include<algorithm>#include<string.h>using namespace std;char s[1010],b[1010];int a[1010];int main(){    int k;    while(cin>>k){        cin>>s;        memset(a,0,sizeof(a));        int len=strlen(s);        sort(s,s+len);        int count=1;        int i,j,c,t=1;        for(i=0;i<len;i++){            if(s[i]==s[i+1])                count++;            else{                if(count%k==0) {a[i]=count;count = 1;}                else {cout<<"-1"<<'\n';t=0;break;}            }        }        int x=0;        if(t){            for(j=0;j<len;j++){                if(a[j]!=0){                        for(c=1;c<=a[j]/k;++c)                            b[x++]=s[j];                }            }            for(i=0;i<k;++i){                cout<<b;            }            cout<<'\n';        }    }    return 0;}


 

原创粉丝点击