要求:
http://codeup.cn/problem.php?cid=100000585&pid=1
说明:
这一题看上去很简单,but,提交了几个先是答案错误,再是时间超限……依然是用的暴力挨个遍历的
代码:
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main(){
int n;
int record[100];
int numrecord[200];
while(scanf("%d",&n) != EOF){
for(int i = 0;i <n;i++){
scanf("%d",&record[i]);
for(int j = 0;j <record[i];j++){
scanf("%d",&numrecord[j]);
}
int count = 0;
int signal = 0;
int ans[200];
if(count == 0){
if(numrecord[count] != numrecord[count+1]){
ans[signal] = count;
count++;
signal++;
}
else{
count++;
}
}
for(count = 1;count <record[i] - 1;count++){
if(numrecord[count+1] >=numrecord[count] && numrecord[count-1] <= numrecord[count]){
;
}
else if(numrecord[count+1] <=numrecord[count] && numrecord[count-1] >= numrecord[count]){
;
}
else{
ans[signal] = count;
signal++;
}
}
if(count == record[i] - 1){
if(numrecord[count] != numrecord[count-1]){
ans[signal] = count;
count++;
signal++;
}
}
if(signal >0){
for(int t=0;t <signal;t++){
printf("%d",ans[t]);
if(t <signal - 1){
printf(" ");
}
}
printf("\n");
}
memset(record,0,sizeof(record));
memset(numrecord,0,sizeof(numrecord));
memset(ans,0,sizeof(ans));
count = 0;
signal = 0;
}
}
}