Submission #338050


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef signed long long ll;

#undef _P
#define _P(...) (void)printf(__VA_ARGS__)
#define FOR(x,to) for(x=0;x<to;x++)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define ALL(a) (a.begin()),(a.end())
#define ZERO(a) memset(a,0,sizeof(a))
#define MINUS(a) memset(a,0xff,sizeof(a))
//-------------------------------------------------------

int N;
string S[300];

const int MV=500;
vector<int> E[MV+1];
int match[MV+1], vis[MV+1];

int bip_dfs(int v) {
	int i;
	vis[v]=1;
	FOR(i,E[v].size()) if(vis[E[v][i]]==0) {
		int tar=E[v][i];
		if(match[tar]<0 || (vis[match[tar]]==0 && bip_dfs(match[tar]))) {
			match[tar]=v;
			match[v]=tar;
			return 1;
		}
	}
	return 0;
}

int bip_match(int NV){
	int i,nmatch=0;
	MINUS(match);
	FOR(i,NV) if(match[i]==-1) { ZERO(vis); nmatch += bip_dfs(i);}
	return nmatch;
}



void solve() {
	int i,j,k,l,r,x,y; string s;
	
	cin>>N;
	FOR(i,N) cin>>S[i];
	
	FOR(i,26) {
		FOR(j,100003) {
			int ng=0;
			FOR(x,N) if(S[x].size()<=j) ng++;
			if(ng) break;
			ll ma[4]={};
			FOR(x,N) {
				E[x].clear();
				E[N+x].clear();
				FOR(y,N) if(j+y<S[x].size() && S[x][j+y]=='a'+i) {
					E[x].push_back(N+y),E[N+y].push_back(x);
					ma[y/60] |= 1LL<<(y%60);
				}
				if(E[x].empty()) {
					ng++;
					break;
				}
			}
			if(ng) continue;
			for(y=N;y<=199;y++) ma[y/60] |= 1LL<<(y%60);
			if(ma[0]!=(1LL<<60)-1) continue;
			if(ma[1]!=(1LL<<60)-1) continue;
			if(ma[2]!=(1LL<<60)-1) continue;
			if(ma[3]!=(1LL<<20)-1) continue;
			
			x=bip_match(2*N);
			if(x==N) {
				cout<<"YES"<<endl;
				return;
			}
			j+=(N-x)-1;
		}
		
	}
	cout<<"NO"<<endl;
}


int main(int argc,char** argv){
	string s;int i;
	if(argc==1) ios::sync_with_stdio(false);
	FOR(i,argc-1) s+=argv[i+1],s+='\n';
	FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin);
	solve(); return 0;
}

Submission Info

Submission Time
Task B - コメント
User kmjp
Language C++ (G++ 4.6.4)
Score 90
Code Size 1947 Byte
Status AC
Exec Time 1276 ms
Memory 1316 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 60 / 60
Status
AC × 2
AC × 18
AC × 44
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt
Subtask2 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt
Case Name Status Exec Time Memory
sample_01.txt AC 23 ms 928 KB
sample_02.txt AC 23 ms 736 KB
subtask1_01.txt AC 22 ms 920 KB
subtask1_02.txt AC 24 ms 924 KB
subtask1_03.txt AC 23 ms 928 KB
subtask1_04.txt AC 24 ms 924 KB
subtask1_05.txt AC 22 ms 800 KB
subtask1_06.txt AC 31 ms 804 KB
subtask1_07.txt AC 24 ms 928 KB
subtask1_08.txt AC 23 ms 928 KB
subtask1_09.txt AC 24 ms 804 KB
subtask1_10.txt AC 22 ms 808 KB
subtask1_11.txt AC 24 ms 808 KB
subtask1_12.txt AC 21 ms 924 KB
subtask1_13.txt AC 24 ms 804 KB
subtask1_14.txt AC 23 ms 924 KB
subtask1_15.txt AC 23 ms 928 KB
subtask1_16.txt AC 25 ms 796 KB
subtask2_01.txt AC 34 ms 1064 KB
subtask2_02.txt AC 395 ms 1056 KB
subtask2_03.txt AC 27 ms 1060 KB
subtask2_04.txt AC 863 ms 1056 KB
subtask2_05.txt AC 25 ms 924 KB
subtask2_06.txt AC 23 ms 992 KB
subtask2_07.txt AC 25 ms 1184 KB
subtask2_08.txt AC 35 ms 1060 KB
subtask2_09.txt AC 375 ms 1064 KB
subtask2_10.txt AC 424 ms 864 KB
subtask2_11.txt AC 358 ms 1140 KB
subtask2_12.txt AC 111 ms 1060 KB
subtask2_13.txt AC 50 ms 1012 KB
subtask2_14.txt AC 413 ms 1188 KB
subtask2_15.txt AC 79 ms 1068 KB
subtask2_16.txt AC 112 ms 1204 KB
subtask2_17.txt AC 60 ms 1308 KB
subtask2_18.txt AC 116 ms 1196 KB
subtask2_19.txt AC 87 ms 1316 KB
subtask2_20.txt AC 339 ms 1052 KB
subtask2_21.txt AC 123 ms 936 KB
subtask2_22.txt AC 107 ms 860 KB
subtask2_23.txt AC 171 ms 932 KB
subtask2_24.txt AC 467 ms 1056 KB
subtask2_25.txt AC 106 ms 932 KB
subtask2_26.txt AC 180 ms 1068 KB
subtask2_27.txt AC 1276 ms 1188 KB
subtask2_28.txt AC 1269 ms 1308 KB