Cod sursa(job #276479)

Utilizator DrakeDemonSebestin Dragos DrakeDemon Data 11 martie 2009 10:41:47
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>

int s[20],n,k,d,p,crt,v[20],dsm,i;
FILE *f = fopen("dusman.in","r");
FILE *g = fopen ("dusman.out","w");

int cont(int c){
int i;
for(i=1;i<=n;i++){
	if(s[i]==s[c])
		return 0;
	if(v[s[i]]==v[s[i+1]])
		return 0;
}
return 1;
}

void sol(){
int i;
for(i=1;i<=n;i++)
	fprintf(g,"%d",s[i]);
}

int main(){
fscanf(f,"%d%d%d",&n,&p,&d);
for(i=0;i<=d;i++){
	fscanf(f,"%d",&dsm);
	v[dsm] = 1;
}
int c=1;
while(c>0){
	if(s[c]<n)
		s[c]++;
	if(cont(c)) {
		crt++;
		if(c==n && crt == p) {
			sol();
			break;

		}else{
			c++;
			s[c] = 0;
		}

	}else
		k--;
}


fclose(f);
fclose(g);
return 0;
}