답안 #78565

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
78565 2018-10-06T11:54:51 Z hamzqq9 Sailing Race (CEOI12_race) C++14
0 / 100
842 ms 5592 KB
#include<bits/stdc++.h>
#define st first
#define nd second
#define pb push_back
#define ppb pop_back
#define umax(x,y) x=max(x,y)
#define umin(x,y) x=min(x,y)
#define ll long long
#define ii pair<int,int>
#define iii pair<ii,int>
#define iiii pair<ii,ii>
#define sz(x) ((int) x.size())
#define orta ((bas+son)>>1)
#define all(x) x.begin(),x.end()
#define dbgs(x) cerr<<(#x)<<" --> "<<(x)<<" "
#define dbg(x) cerr<<(#x)<<" --> "<<(x)<<endl;getchar()
#define pw(x) (1<<(x))
#define inf 2000000000
#define MOD 1000000007
#define N 505
#define MAX 5000000
#define LOG 100
#define KOK 333
using namespace std;

int n,k,x;
int ar[2*N],a[N][N],dp[2*N][2*N];

void f_1() {

}

void f_0() {

	int ans=-1,tut;

	/*for(int i=1;i<=2*n;i++,puts("")) {

		for(int j=1;j<=2*n;j++) {

			printf("%d ",dp[i][j]);

		}

	}*/

	for(int i=1;i<=n;i++) {

		if(dp[i][i+n-1]>ans) {

			ans=dp[i][i+n-1];
			tut=i;

		}

	}

	printf("%d\n%d\n",ans,tut);

}

void do_1() {

}

void do_0() {

	for(int len=2;len<=n;len++) {

		for(int i=1;i<=2*n;i++) {

			int beg=i-len+1;
			int en=i+len-1;

			if(beg>=1) {

				for(int j=beg+1;j<i;j++) {

					if(a[ar[i]][ar[j]]) umax(dp[i][beg],max(dp[j][beg],dp[j][i])+1);

				}

				if(a[ar[i]][ar[beg]]) {

					umax(dp[i][beg],1);

					for(int j=beg+1;j<i;j++) {

						if(a[ar[beg]][ar[j]]) umax(dp[i][beg],max(dp[j][beg],dp[j][i])+2);

					}

				}

			}

			if(en<=2*n) {

				for(int j=i+1;j<en;j++) {

					if(a[ar[i]][ar[j]]) umax(dp[i][en],max(dp[j][en],dp[j][i])+1);

				}

				if(a[ar[i]][ar[en]]) {

					umax(dp[i][en],1);

					for(int j=i+1;j<en;j++) {

						if(a[ar[en]][ar[j]]) umax(dp[i][en],max(dp[j][en],dp[j][i])+2);

					}

				}

			}

		}

	}

}

int main() {
	
	//freopen("input.txt","r",stdin);

	scanf("%d %d",&n,&k);

	for(int i=1;i<=n;i++) {

		do {

			scanf("%d",&x);

			if(x==0) break ;

			a[i][x]=1;

		} while(1);

	}

	for(int i=1;i<=n;i++) ar[i]=ar[i+n]=i;

	do_0();
	do_1();

	if(k==0) f_0();
	else f_1();

}

Compilation message

race.cpp: In function 'int main()':
race.cpp:129:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&k);
  ~~~~~^~~~~~~~~~~~~~~
race.cpp:135:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&x);
    ~~~~~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 376 KB Output isn't correct
2 Incorrect 2 ms 636 KB Unexpected end of file - int32 expected
3 Incorrect 2 ms 712 KB Unexpected end of file - int32 expected
4 Incorrect 3 ms 884 KB Unexpected end of file - int32 expected
5 Incorrect 5 ms 1140 KB Output isn't correct
6 Incorrect 4 ms 1172 KB Unexpected end of file - int32 expected
7 Incorrect 11 ms 1276 KB Output isn't correct
8 Incorrect 6 ms 1348 KB Unexpected end of file - int32 expected
9 Incorrect 12 ms 1584 KB Output isn't correct
10 Incorrect 13 ms 1584 KB Output isn't correct
11 Incorrect 18 ms 1584 KB Output isn't correct
12 Incorrect 55 ms 2512 KB Unexpected end of file - int32 expected
13 Incorrect 120 ms 3608 KB Unexpected end of file - int32 expected
14 Incorrect 224 ms 4516 KB Output isn't correct
15 Incorrect 603 ms 5472 KB Unexpected end of file - int32 expected
16 Incorrect 752 ms 5472 KB Unexpected end of file - int32 expected
17 Incorrect 605 ms 5472 KB Unexpected end of file - int32 expected
18 Incorrect 389 ms 5472 KB Output isn't correct
19 Incorrect 842 ms 5516 KB Unexpected end of file - int32 expected
20 Incorrect 842 ms 5592 KB Unexpected end of file - int32 expected