#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int n,m,gub1,c=0;
int rj[100007];
map<string, vector<string>> v;
map<string, bool> bio;
void dfs(string x){
int ivs= stoi(x);
if (bio[x]==1 && (rj[ivs-1]==1 || x=="1")){ rj[c]=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[str]=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:16: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 |
256 KB |
Output is correct |
2 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
3 |
Correct |
552 ms |
23004 KB |
Output is correct |
4 |
Correct |
537 ms |
22648 KB |
Output is correct |
5 |
Correct |
578 ms |
22008 KB |
Output is correct |
6 |
Incorrect |
585 ms |
22136 KB |
Output isn't correct |
7 |
Correct |
542 ms |
22008 KB |
Output is correct |
8 |
Correct |
574 ms |
22776 KB |
Output is correct |
9 |
Correct |
605 ms |
23364 KB |
Output is correct |
10 |
Correct |
650 ms |
23800 KB |
Output is correct |