Submission #28280

# Submission time Handle Problem Language Result Execution time Memory
28280 2017-07-16T04:22:23 Z 쥬니님일어나세요 버스운전해주시기로했잖아요(#1179, kjp4155, pjh0123, dnsdhrj) Play Onwards (FXCUP2_onward) C++14
1 / 1
9 ms 2300 KB
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <memory.h>
#include <math.h>
#include <assert.h>
#include <queue>
#include <map>
#include <set>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
#include <stack>
#include <deque>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> Pi;
typedef pair<ll,ll> Pll;

#define Fi first
#define Se second
#define pb(x) push_back(x)
#define sz(x) (int)x.size()
#define rep(i, n) for(int i=0;i<n;i++)
#define repp(i, n) for(int i=1;i<=n;i++)
#define all(x) x.begin(), x.end()

#define geti1(X) scanf("%d",&X)
#define geti2(X,Y) scanf("%d%d",&X,&Y)
#define geti3(X,Y,Z) scanf("%d%d%d",&X,&Y,&Z)
#define geti4(X,Y,Z,W) scanf("%d%d%d%d",&X,&Y,&Z,&W)

#define GET_MACRO(_1,_2,_3,_4,NAME,...) NAME
#define geti(...) GET_MACRO(__VA_ARGS__, geti4, geti3, geti2, geti1) (__VA_ARGS__)

#define INF 987654321
#define IINF 987654321987654321
#define MAXV 200500


#define MOD 1234567
int N,M,K,T;
vector<int> E[300];
string s[300];
int color[300];
bool vis[300];
bool chk(string a, string b){
	int ap = 0, bp=0;
	for(ap=0;ap+K-1<sz(a);ap++){
		for(bp=0;bp+K-1<sz(b);bp++){
			bool ok = true;
			for(int i=0;i<K;i++){
				if( a[ap+i] != b[bp+i] ){
					ok = false; break;
				}
			}
			if( ok ) return true;
		}
	}
	return false;
}

void dfs(int x, int c){
	color[x] = c; vis[x] = true;
	for(auto e: E[x])if(!vis[e]){
		dfs(e,c^1);
	}
}

int main(){
	geti(N,K);
	repp(i,N){
		string x; cin >> x; s[i] = x;
	}

	repp(i,N)repp(j,N)if(i>j){
		if ( chk(s[i],s[j]) ) {
			E[i].pb(j); E[j].pb(i);
		}
	}
	int cur = 1;
	repp(i,N){
		if( !vis[i] ){
			dfs(i,cur);
			cur ^= 1;
		}
	}

	repp(i,N){
		for(auto e : E[i]){
			if( color[i] == color[e] ){
				printf("No"); return 0;
			}
		}
	}

	printf("Yes\n");
	repp(i,N){
		printf("%d\n",color[i]+1);
	}
}	

Compilation message

onward.cpp: In function 'int main()':
onward.cpp:74:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  geti(N,K);
           ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2036 KB Output is correct
2 Correct 0 ms 2036 KB Output is correct
3 Correct 0 ms 2036 KB Output is correct
4 Correct 0 ms 2036 KB Output is correct
5 Correct 0 ms 2300 KB Output is correct
6 Correct 3 ms 2300 KB Output is correct
7 Correct 6 ms 2036 KB Output is correct
8 Correct 9 ms 2036 KB Output is correct
9 Correct 6 ms 2036 KB Output is correct
10 Correct 6 ms 2036 KB Output is correct
11 Correct 0 ms 2036 KB Output is correct
12 Correct 9 ms 2036 KB Output is correct
13 Correct 9 ms 2036 KB Output is correct
14 Correct 6 ms 2036 KB Output is correct
15 Correct 0 ms 2036 KB Output is correct
16 Correct 0 ms 2036 KB Output is correct
17 Correct 0 ms 2036 KB Output is correct
18 Correct 0 ms 2036 KB Output is correct
19 Correct 3 ms 2036 KB Output is correct
20 Correct 6 ms 2036 KB Output is correct
21 Correct 6 ms 2036 KB Output is correct