Judg.
题目描述
小 M 正在兴致勃勃地敲打着代码,他突然发现提交代码的评测机无响应了。
你查看了后台数据,请你根据这些已有数据判断他没有通过的测试点有哪些。
已知评测结果与测试点是否通过有如下关系:
评测结果 | 测试点是否通过 |
---|---|
AC \texttt{AC} AC | 是 |
WA \texttt{WA} WA | 否 |
TLE \texttt{TLE} TLE | 否 |
MLE \texttt{MLE} MLE | 否 |
输入格式
第一行输入一个正整数 n n n,表示评测数据的个数。
第 2 ∼ n + 1 2 \sim n+1 2∼n+1 行,每行输入一个字符串,依次表示测试点 1 ∼ n 1\sim n 1∼n 的评测结果,数据保证这些字符串一定为 { AC , WA , TLE , MLE } \{\texttt{AC},\texttt{WA},\texttt{TLE},\texttt{MLE}\} {AC,WA,TLE,MLE} 中的一个。
输出格式
输出一行 m m m 个正整数,其中第 i i i 个数字 a i a_i ai 表示第 a i a_i ai 个测试点没有通过。
特别地,你需要保证这 m m m 个数字递增。
样例 #1
样例输入 #1
5
AC
WA
AC
TLE
MLE
样例输出 #1
2 4 5
样例 #2
样例输入 #2
5
AC
AC
AC
MLE
TLE
样例输出 #2
4 5
提示
【数据范围】
对于所有测试数据,满足 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1≤n≤105,输入的字符串一定在 { AC , WA , TLE , MLE } \{\texttt{AC},\texttt{WA},\texttt{TLE},\texttt{MLE}\} {AC,WA,TLE,MLE} 之中。
本题开启捆绑测试,所有数据范围均相同的测试点捆绑为一个 Subtask \text{Subtask} Subtask。
各测试点的附加限制如下表所示。
测试点 | n ≤ n \le n≤ |
---|---|
1 ∼ 5 1 \sim 5 1∼5 | 10 10 10 |
6 ∼ 12 6 \sim 12 6∼12 | 2 × 1 0 3 2 \times 10^3 2×103 |
13 ∼ 20 13 \sim 20 13∼20 | 1 0 5 10^5 105 |
C++实现
#include
#include <bits/stdc++.h>
using namespace std;
int n,r[20000];
string s;
int cnt;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
if(s!=“AC”){
cnt++;
r[cnt]=i;
}
}
cout<<"---------------------------"<<endl;
for(int i=1;i<=cnt;i++){
cout <<r[i]<<" ";
}
return 0;
}
后续
接下来我会不断用C++来实现信奥比赛中的算法题、GESP C++考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容