#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int n,m,gub1,c=0,id=0;
int rj[100007];
map<string, vector<string>> v;
map<string, bool> bio2,bio;
void dfs(string x){
if (id==1) return;
int ivs= stoi(x);
if (bio[x]==1 && (rj[ivs-1]==1 || x=="1")){ rj[c]=1; id=1;}
if (bio[x]==1) return;
bio[x]=1;
for (int i=0;i<v[x].size();i++){
dfs(v[x][i]);
}
}
int main(){
cin >> n >> m;
string a,b;
for (int i=0;i<m;i++){
cin >> a >> b;
v[a].pb(b);
if (b=="1") gub1=1;
}
if (gub1==0){
rj[0]=1;
}
for (int i=1;i<=n;i++){
string str=to_string(i);
bio=bio2;
if (i!=1) bio["1"]=1;
id=0;
dfs(str);
c++;
}
for (int i=0;i<n;i++){
cout << rj[i];
}
return 0;
}
Compilation message
wand.cpp: In function 'void dfs(std::__cxx11::string)':
wand.cpp:17:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0;i<v[x].size();i++){
~^~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
384 KB |
Output is correct |
2 |
Correct |
0 ms |
256 KB |
Output is correct |
3 |
Execution timed out |
1089 ms |
13064 KB |
Time limit exceeded |
4 |
Execution timed out |
1064 ms |
13148 KB |
Time limit exceeded |
5 |
Execution timed out |
1094 ms |
13304 KB |
Time limit exceeded |
6 |
Execution timed out |
1089 ms |
12280 KB |
Time limit exceeded |
7 |
Execution timed out |
1098 ms |
13176 KB |
Time limit exceeded |
8 |
Execution timed out |
1078 ms |
13384 KB |
Time limit exceeded |
9 |
Execution timed out |
1054 ms |
13944 KB |
Time limit exceeded |
10 |
Execution timed out |
1099 ms |
14072 KB |
Time limit exceeded |