AC滞销,帮帮我们!(已WA)
查看原帖
AC滞销,帮帮我们!(已WA)
510555
ImposterAnYu楼主2021/5/12 13:15
#include<bits/stdc++.h>
using namespace std;
int b[55],n,na,i,j;
bool k[1005];
char a[1005][55];
int anyu(char a){
	return a - 'A' + 1;
}
int main(){
	cin >> n;
	for(i = 1; i <= n; i++){
		cin >> na;
		for(j = 1; j <= na; j++){
			cin >> a[i][j];
			b[anyu(a[i][j])]++;
			if(a[i][j - 1] != a[i][j] && b[anyu(a[i][j])] > 1){
				k[i]++;
			}
		}
	}
	for(i = 1; i <= n; i++){
		if(k[i]) cout<< "NO" << endl;
		else cout<< "YES" << endl;
	}
    return 0;
}

看不懂题目的,我有翻译:

Polycarp有26项任务要做,每个任务都用大写字母表示。

老师要求他通过以下的方式解决他的任务:如果Polycarp开始解决一项任务,那么Polycarp在解决完这项任务前不能分心(即不能去做其他任务)! Polycarp一天能做一项任务,同时会写下他一天要做的任务。现在,老师想看看Polycarp是否做到了他要求的方式。

例如,Polycarp若按以下流程做任务:“DDBBCCCBBEZ”,则老师看到的是:Polycarp第一天开始做D任务,第三天开始做B任务,第五天开始做C任务,第八天又开始做B任务(即B任务还没做完,此时Polycarp分心了)……此外,会让老师怀疑的例子还有:“BAB”、“AABBCCDDEEBZZ”、和“ZZZZAZZZZ”等等。

如果Polycarp按以下流程做任务:“FFGZZZY”,则老师不会有任何怀疑(因为Polycarp没有分心)。【注意,Polycarp没有任何义务解决所有的任务!】此外,不会让老师怀疑的例子还有:“BA”、“AFFFCC”、和“YYYYY”。

请你帮忙确认一下老师会不会怀疑Polycarp。

样例输入

第一行一个正整数t(1 <= t <= 1000),表示测试的组数。

接下来每一组测试数据的第一行一个正整数n(1 <= n <= 50),表示Polycarp解决任务的天数;

第二行为一个长度为n且由大写字母组成的字符串,表示Polycarp解决任务的顺序。

样例输出

对于每组数据,输出:

1·如果老师不会怀疑Polycarp,输出“YES”;

2·如果会,则输出“NO”。

【(似乎)此处大小写不定!】

2021/5/12 13:15
加载中...