| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 28264 | 점수판에 아이디와 팀명이 같이 표기되니, 신중하게 적어주세요. (#68) | Play Onwards (FXCUP2_onward) | C++14 | 9 ms | 2300 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
#define SZ(v) ((int)(v).size())
#define ALL(v) (v).begin(),(v).end()
#define one first
#define two second
typedef long long ll;
typedef pair<int, int> pi; typedef pair<ll, int> pli; typedef pair<ll, pi> plp;
typedef tuple<int, int, int> ti; typedef tuple<ll, int, int> tli;
const int INF = 0x3f2f1f0f;
const ll LINF = 1ll * INF * INF;
const int MAX_N = 2e2 + 10;
int N, K; char S[MAX_N][50]; int sN[MAX_N], C[MAX_N];
vector<int> Ed[MAX_N];
bool vis[MAX_N];
bool isCon(int i, int j) {
	for(int a=0; a+K-1<sN[i]; a++) for(int b=0; b+K-1<sN[j]; b++) {
		bool isCan = true;
		for(int k=0; k<K; k++) if(S[i][a+k] != S[j][b+k]) {isCan = false; break;}
		if(isCan) return true;
	}
	return false;
}
bool impos = false;
void dfs(int v, int c) {
	vis[v] = true;
	C[v] = c;
	for(int w : Ed[v]) {
		if(vis[w] == true) {
			if(C[w] + C[v] != 1) {impos = true;}
		}else dfs(w, 1-C[v]);
	}
}
int main() {
	cin >> N >> K;
	for(int i=0; i<N; i++) scanf("%s", S[i]), sN[i] = strlen(S[i]);
	for(int i=0; i<N; i++) for(int j=i+1; j<N; j++) {
		if(isCon(i, j)) {
//			printf("%d %d\n", i, j);
			Ed[i].push_back(j), Ed[j].push_back(i);
		}
	}
	for(int i=0; i<N; i++) if(vis[i] == false) {
		dfs(i, 0);
	}
	if(impos) puts("No");
	else {
		puts("Yes");
		int cnt[2] ={0, 0};
		for(int i=0; i<N; i++) cnt[C[i]]++;
		if(cnt[0] == N || cnt[1] == N) {
			for(int i=0; i<N-1; i++) printf("%d\n", 1);
			for(int i=N-1; i<N; i++) printf("%d\n", 2);
		}else for(int i=0; i<N; i++) printf("%d\n", C[i] + 1);
	}
	return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
