UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#195211#3417. 序列转换xiaozida1002ms1264kbC++1.1kb2023-10-18 18:37:342023-10-18 21:57:57

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int N=1e5+10;
int n;
string s;
int ans[N];
int a[N];
int main(){
	cin>>n;
	cin>>s;
	for(int i=0;i<n;i++){
		if(s[i]=='0')
		ans[i+1]=0;
		if(s[i]=='1')
		ans[i+1]=1;
		if(s[i]=='2')
		ans[i+1]=2;
		if(s[i]=='3')
		ans[i+1]=3;
		if(s[i]=='4')
		ans[i+1]=4;
		if(s[i]=='5')
		ans[i+1]=5;
		if(s[i]=='6')
		ans[i+1]=6;
		if(s[i]=='7')
		ans[i+1]=7;
		if(s[i]=='8')
		ans[i+1]=8;
		if(s[i]=='9')
		ans[i+1]=9;
	}
	ll cnt=1;
	ll x=1;
	for(int i=1;i<=n;i++){
		if(i==n){
			a[x]=cnt;
			x++;
			a[x]=ans[i];
			break;
		}
		if(ans[i]==ans[i+1])
		cnt++;
		else{
			if(cnt==1000){
				a[x]=1;
				x++;
				a[x]=0;
				x++;
				a[x]=0;
				x++;
				a[x]=0;
				x++;
			}
			else if(cnt>99){
				a[x]=cnt/100;
				x++;
				a[x]=cnt/10%10;
				x++;
				a[x]=cnt%10;
				x++;
			}
			else if(cnt>9){
				a[x]=cnt/10;
				x++;
				a[x]=cnt%10;
				x++;
			}
			else{
		        a[x]=cnt;
		        x++;
		    }
			cnt=1;
			a[x]=ans[i];
			x++;
		}
	}
	for(int i=1;i<=x;i++)
	cout<<a[i];
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1248kb

input:

10
0123123023

output:

10111213111213101213

result:

ok single line: '10111213111213101213'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

10
0123412340

output:

10111213141112131410

result:

ok single line: '10111213141112131410'

Test #3:

score: 10
Accepted
time: 0ms
memory: 1252kb

input:

100
011010011001011010010110011010011001011001101001011010011001011010010110011010010110100110010110...

output:

1021101120212011102110112011102120211011202120111021202110112011102110112021201110211011201110212021...

result:

ok single line: '102110112021201110211011201110...1201110211011202120111021202110'

Test #4:

score: 10
Accepted
time: 0ms
memory: 1256kb

input:

100
012120201120201012201012120120201012201012120012120201201012120012120201120201012120201012201012...

output:

1011121112101210211210121011101122101110111211121011121012101110112210111011121112201112111210121011...

result:

ok single line: '101112111210121021121012101110...2101210111011221011101112111220'

Test #5:

score: 10
Accepted
time: 0ms
memory: 1256kb

input:

100
012312302301301212302301301201232301301201231230301201231230230112302301301201232301301201231230...

output:

1011121311121310121310111310111211121310121310111310111210111213121310111310111210111213111213101310...

result:

ok single line: '101112131112131012131011131011...3101112101112131112131013101112'

Test #6:

score: 10
Accepted
time: 1ms
memory: 1256kb

input:

100
012341234023401340124012312340234013401240123012342340134012401230123412340340124012301234123402...

output:

1011121314111213141012131410111314101112141011121311121314101213141011131410111214101112131011121314...

result:

ok single line: '101112131411121314101213141011...3101112131411121314101213141011'

Test #7:

score: 10
Accepted
time: 1ms
memory: 1260kb

input:

1000
01101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011...

output:

1021101120212011102110112011102120211011202120111021202110112011102110112021201110211011201110212021...

result:

ok single line: '102110112021201110211011201110...1201110212021101120212011102110'

Test #8:

score: 10
Accepted
time: 0ms
memory: 1260kb

input:

1000
01212020112020101220101212012020101220101212001212020120101212001212020112020101212020101220101...

output:

1011121112101210211210121011101122101110111211121011121012101110112210111011121112201112111210121011...

result:

ok single line: '101112111210121021121012101110...2111210121021121012101110111210'

Test #9:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

1000
01231230230130121230230130120123230130120123123030120123123023011230230130120123230130120123123...

output:

1011121311121310121310111310111211121310121310111310111210111213121310111310111210111213111213101310...

result:

ok single line: '101112131112131012131011131011...1121310121310111011121311121310'

Test #10:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

1000
01234123402340134012401231234023401340124012301234234013401240123012341234034012401230123412340...

output:

1011121314111213141012131410111314101112141011121311121314101213141011131410111214101112131011121314...

result:

ok single line: '101112131411121314101213141011...2141011121310111213141112131410'

Extra Test:

score: 0
Extra Test Passed