Submission #1120385

#TimeUsernameProblemLanguageResultExecution timeMemory
1120385vjudge1KOVANICE (COI15_kovanice)C++17
0 / 100
109 ms11464 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define run ios_base::sync_with_stdio(false);cin.tie(0); #define ll int #define pll pair<ll, ll> #define ull unsigned ll #define ld double #define endl "\n" #define pb push_back #define fi first #define se second #define pi acos(-1) #define N 100007 #define minimum -9223372036854775807 #define maximum -minimum #define mod 1000000007 using namespace std; using namespace __gnu_pbds; template <class t> using ordered_set=tree<t, null_type,less_equal<t>, rb_tree_tag,tree_order_statistics_node_update>; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ll gcd(ll a, ll b) { if(b==0) return a; return gcd(b, a%b); } ll lcm(ll a, ll b) { return a/gcd(a, b)*b; } bool isprime(ll n) { if(n==1) return 0; for(ll i=2; i*i<=n; i++) { if(n%i==0) return 0; } return 1; } ll binpow(ll a, ll b) { a%=mod; ll res=1; while(b>0) { if(b%2==1) res=(res*a)%mod; a=(a*a)%mod; b/=2; } return res; } ll n, m, q; int main() { run; cin>>n>>m>>q; vector<string>v(m+1); vector<pll>brbr; while(q--) { ll x, z; char y; cin>>x>>y>>z; if(y=='<') v[x]="K1", v[z]="K2"; else if(y=='>') v[x]="K2", v[z]="K1"; else brbr.pb({x, z}); } while(true) { vector<pll>brb; bool deyismek=0; for(auto i:brbr) { if(v[i.first]=="K1" || v[i.first]=="K2") { v[i.second]=v[i.first]; deyismek=1; } else if(v[i.second]=="K2" || v[i.second]=="K1") { v[i.first]=v[i.second]; deyismek=1; } else { brb.pb({i.first, i.second}); } } if(!deyismek) { for(pll i:brb) { v[i.first]="?"; v[i.second]="?"; } break; } brbr=brb; } for(ll i=1; i<=m; i++) cout<<v[i]<<endl; } // By Xanlar
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...