제출 #1318206

#제출 시각아이디문제언어결과실행 시간메모리
1318206ElayV13KOVANICE (COI15_kovanice)C++20
0 / 100
2095 ms27040 KiB
//g++ -o sol sol.cpp //cd C:\Users\Asus-1\OneDrive\Desktop #include <bits/stdc++.h> using namespace std; #define int long long #define ld long double const int INF = 1e18; const int N = 100001; #define S(a) a.begin() , a.end() #define pb push_back #define READ(l , r , a) for(int i = l;i <= r;i++) cin >> a[i] #define printV(l , r , a) for(int i = l;i <= r;i++) cout << a[i] << ' '; #define pii pair < int , int > #define FOR(i , l , r) for(int i = l;i <= r;i++) int n , m , v , par[300001] , res[300001]; vector < int > G[300001] , F[300001]; bool vis[300001]; void dfs(int v , int p , int dis) { par[v] = p; vis[v] = 1; if(dis == n) { int cur = v , cur_res = n; while(1){ res[v] = cur_res; --cur_res; if(cur_res == 0) break; v = par[v]; } } for(int u : G[v]) if(!vis[u]) dfs(u , v , dis + 1); } bool used[300001]; void DFS(int v , int color) { used[v] = 1; res[v] = color; for(int u: F[v]) if(!used[u]) DFS(u , color); } signed main(){ ios_base::sync_with_stdio(); cin.tie(0); cout.tie(0); cin >> n >> m >> v; for(int i = 1;i <= v;i++){ int x; cin >> x; char c; cin >> c; int y; cin >> y; if(c == '>') G[y].push_back(x); else if(c == '<') G[x].push_back(y); else { F[x].push_back(y); F[y].push_back(x); } } for(int i = 1;i <= m;i++) { for(int j = 1;j <= m;j++) vis[j] = 0 , par[j] = 0; dfs(i , -1 , 1); } for(int i = 1;i <= m;i++) { if(res[i] != 0) { DFS(i , res[i]); } } for(int i = 1;i <= m;i++) { if(res[i] == 0) cout << "?" << endl; else cout << "K" << res[i] << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...