작성자 |
|
||
---|---|---|---|
작성일 | 2011-05-15 17:11:33 KST | 조회 | 309 |
제목 |
최장증가부분수열 짜는데
|
답 제대로 나오는데 인정이 안된다니
앙대!
#include <stdio.h>
FILE *fi=fopen("input.txt","r");
FILE *fo=fopen("output.txt","w");
void main()
{
int i, j, k, input, num[1000], count[1000], path[1000], K, t1, t2, answer[1000];
fscanf(fi,"%d",&input);
for(i=0;i<input;i++) { fscanf(fi,"%d",&num); }
for(i=0;i<input;i++)
{
t1=0; t2=-1;
for(j=0;j<i;j++) { if(num>num[j] && count[j]>=t1) { t1=count[j]+1; t2=j; } }
count=t1; path=t2;
}
for(i=input-1,k=0;i!=-1;) { answer[k]=num; i=path; k++; }
for(i=0;i<input;i++) { printf("%3d",i); } printf("\n");
for(i=0;i<input;i++) { printf("%3d",num); } printf("\n");
for(i=0;i<input;i++) { printf("%3d",count); } printf("\n");
for(i=0;i<input;i++) { printf("%3d",path); } printf("\n\n");
printf("%d",k); printf("\n");
fprintf(fo,"%d\n",k);
k=K=k-1;
for(k=0;k<K;k++) { if(count[k]==count[K] && num[k]<num[K]) { k=j; } }
for(;k>=0;k--) { printf("%3d",answer[k]); fprintf(fo,"%d ",answer[k]); }
}
이건데 틀린다고 나옴
도와줘요! 능력자님들
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.