답안 #448420

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
448420 2021-07-30T06:43:18 Z fuad27 KOVANICE (COI15_kovanice) C++14
0 / 100
226 ms 13992 KB
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second
#define DEBUG(b, s) cerr<<b<<s;
bool comp(pair<int, pair<char, int>> a, pair<int, pair<char, int>> b) {
	if(a.s.f == '<')return true;
	if(b.s.f == '<')return false;
	return true;
} 
int main () {
	int n, m, q;
	cin >> n >> m >> q;
	vector<int> v(m, 300010);
	vector<pair<int, pair<char, int>>> t;
	while(q--) {
		char c;
		int a, b;
		cin >> a >> c >> b;
		t.push_back({a, {c, b}});
	}
	sort(t.begin(), t.end(), comp);
	for(int i = 0;i<m;i++) {
		int a = t[i].f, b = t[i].s.s;char c = t[i].s.f;
		//DEBUG(c, '\n');
		if(c == '=') {
			if(v[a-1] <= 2)v[b-1] = v[a-1];
			else v[a-1] = v[b-1];
		}
		else if(c == '<') {
			v[a-1] = 1;
			v[b-1] = 2;
		}
	}
	for(int i = 0;i<m;i++) {
		int a = t[i].f, b = t[i].s.s;char c = t[i].s.f;
		//DEBUG(c, '\n');
		if(c == '=') {
			if(v[a-1] <= 2)v[b-1] = v[a-1];
			else v[a-1] = v[b-1];
		}
		else if(c == '<') {
			v[a-1] = 1;
			v[b-1] = 2;
		}
	}
	for(int i = 0;i<m;i++) {
		if(v[i] > 2)cout<<"?\n";
		else cout<<"K"<<v[i]<<"\n";
	}
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 75 ms 5788 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 65 ms 3708 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 226 ms 13992 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -