s08695韩润琦
一、题目报告
/_ \比赛时爆零/_ \
二、赛中概况
T1做题过程:一开始上来看的题目就是T1,题目不是很难,但没有搞清楚题目意思,也忘了“字典序”是什么意思。赛后,我在百度上搜了一下,字典序就是正常的排序,也就是ABCDEFG HIJKLMN OPQRST UVWXYZ abcdefg hijklmn opqrst uvwxyz,以及0123456789。所以,如果搞懂了这个“字典序”是个什么东西的话,这道题是可以AC掉的。
T2做题过程:因此,我放弃T1去看T2,T2这道题其实是一个贪心的题目,但是我没有看出来,所以我用暴力做的,一个for循环,遍历给1,2,3,4,5个学生的情况,然后还写了一个判断特殊情况的递归函数。于是就出现了,一个for循环,里面套了一个while,while里面又有一个递归函数的“奇观”。不出所料,它成功TLE了。但是如果我把函数去掉,它就会WA。
T3做题过程:搞完T2之后,就去看T3,发现T3竟然不是很难(其实很难),于是开始搞T3。T3这道题我最后是TLE了,但是,题目给的样例和我自己造的样例是都ok的(其实题目中的样例有一个没过,但又比较特殊,所以我打了个补丁)。这道题我是先用一个for循环记录下了这4个数字每个数字出现的次数,然后在相对应的给我最后的结果cnt++,为了实现这个操作,我写了一长串的if else if else........
for(int i = 1; i <= n; i++){
scanf("%d", &a[i]);
if(a[i] == 1){
num1++;
}else if(a[i] == -1){
num2++;
}else if(a[i] == 2){
num3++;
}else{
num4++;
}
}
if(n == 1){//程序补丁
printf("1");
return 0;
}else if(n == 2 && (a[1] == -(a[2]) || -(a[1]) == a[2])){
printf("1");
return 0;
}else if(n == 2 && a[1] == a[2]){
printf("2");
return 0;
}
if(num1 != 0 && num2 != 0 && num3 != 0 && num4 != 0){
cnt += 4;
}else if(num1 == 0 && num2 == 0 && num3 == 0 && num4 == 0){
printf("0");