Submission #372384


Source Code Expand

#include <bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,b) FOR(i,0,b)
#define F first
#define S second
#define PB push_back
#define BE(c) c.begin(),c.end()
using namespace std;
typedef long long LL;
typedef int ut;
typedef pair<ut,ut> pr;
typedef vector<ut> VI;
typedef vector<pr> Vpr;
const int SIZE=1010;
const int INF=1<<30;
ut N,M,px[SIZE],py[SIZE],s[SIZE],t[SIZE];
bool isJump[SIZE][SIZE];
bool DP2[SIZE];
bool DP[SIZE][SIZE];
VI nums;
string str[]={"NO","YES"};
int norm(int a,int b){
	return (px[a]-px[b])*(px[a]-px[b])+(py[a]-py[b])*(py[a]-py[b]);
}
bool solve1(){
	REP(i,N+M-1)
		if(!isJump[i][i+1]) return false;
	return true;
}
bool solve2(){
	if(isJump[0][2]) DP2[1]=true;
	if(isJump[1][2]) DP2[0]=true;
	if(!(isJump[0][2]||isJump[1][2])) return false;
	FOR(i,3,N+M){
		bool safe=false;
		REP(j,i-1){
			if(isJump[j][i] && DP2[j]){
				DP2[i-1]=true;
				safe=true;
			}
		}
		if(!safe && !isJump[i-1][i]) return false;
		if(!isJump[i-1][i])
			REP(j,i-1)
				DP2[j]=false;
	}
	return true;
}
bool solve3(){
	if(isJump[2][3]) DP[1][0]=true;
	if(isJump[1][3]) DP[2][0]=true;
	if(isJump[0][3]) DP[2][1]=true;
	if(!(DP[1][0]||DP[2][0]||DP[2][1])) return false;
	FOR(i,4,N+M){
		bool safe=false;
		REP(j,i-1){
			if(isJump[j][i])
				REP(k,j){
					if(DP[j][k]){
					DP[i-1][k]=true;
					safe=true;
					}
				}
			REP(k,j){
				if(DP[j][k] && isJump[k][i]){
					safe=true;
					DP[i-1][j]=true;
					break;	
				}
			}
		}
		if(!safe && !isJump[i-1][i]) return false;
		if(!isJump[i-1][i])
			REP(j,i-1)
				REP(k,j)
					DP[j][k]=false;
	}

	return true;
}
int main() {
	cin >> M;
	REP(i,M)
		scanf("%d%d",&px[i],&py[i]);
	cin >> N;
	FOR(i,M,N+M)
		scanf("%d%d%d%d",&px[i],&py[i],&s[i],&t[i]);
	
	REP(i,N+M)
		REP(j,i){
			isJump[j][i]=(norm(i,j)<=(s[i]-t[j])*(s[i]-t[j]));
		}
	if(M==1) cout << str[solve1()] << endl;
	else if(M==2) cout << str[solve2()] << endl;
	else cout << str[solve3()] << endl;
	
	return 0;
}

Submission Info

Submission Time
Task D - ラボライブ タフグローバルフェスティバル
User probako
Language C++ (GCC 4.9.2)
Score 200
Code Size 2053 Byte
Status AC
Exec Time 559 ms
Memory 2728 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:84:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&px[i],&py[i]);
                              ^
./Main.cpp:87:46: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d%d",&px[i],&py[i],&s[i],&t[i]);
                                              ^

Judge Result

Set Name All
Score / Max Score 200 / 200
Status
AC × 54
Set Name Test Cases
All scrambled_00.txt, scrambled_01.txt, scrambled_02.txt, scrambled_03.txt, scrambled_04.txt, scrambled_05.txt, scrambled_06.txt, scrambled_07.txt, scrambled_08.txt, scrambled_09.txt, scrambled_10.txt, scrambled_11.txt, scrambled_12.txt, scrambled_13.txt, scrambled_14.txt, scrambled_15.txt, scrambled_16.txt, scrambled_17.txt, scrambled_18.txt, scrambled_19.txt, scrambled_20.txt, scrambled_21.txt, scrambled_22.txt, scrambled_23.txt, scrambled_24.txt, scrambled_25.txt, scrambled_26.txt, scrambled_27.txt, scrambled_28.txt, scrambled_29.txt, scrambled_30.txt, scrambled_31.txt, scrambled_32.txt, scrambled_33.txt, scrambled_34.txt, scrambled_35.txt, scrambled_36.txt, scrambled_37.txt, scrambled_38.txt, scrambled_39.txt, scrambled_40.txt, scrambled_41.txt, scrambled_42.txt, scrambled_43.txt, scrambled_44.txt, scrambled_45.txt, scrambled_46.txt, scrambled_47.txt, scrambled_48.txt, scrambled_49.txt, scrambled_50.txt, scrambled_51.txt, scrambled_52.txt, scrambled_53.txt
Case Name Status Exec Time Memory
scrambled_00.txt AC 25 ms 804 KiB
scrambled_01.txt AC 25 ms 920 KiB
scrambled_02.txt AC 26 ms 920 KiB
scrambled_03.txt AC 549 ms 2720 KiB
scrambled_04.txt AC 559 ms 2728 KiB
scrambled_05.txt AC 553 ms 2716 KiB
scrambled_06.txt AC 319 ms 2716 KiB
scrambled_07.txt AC 328 ms 2724 KiB
scrambled_08.txt AC 25 ms 924 KiB
scrambled_09.txt AC 24 ms 928 KiB
scrambled_10.txt AC 25 ms 808 KiB
scrambled_11.txt AC 25 ms 800 KiB
scrambled_12.txt AC 25 ms 928 KiB
scrambled_13.txt AC 25 ms 800 KiB
scrambled_14.txt AC 24 ms 924 KiB
scrambled_15.txt AC 25 ms 924 KiB
scrambled_16.txt AC 25 ms 736 KiB
scrambled_17.txt AC 26 ms 800 KiB
scrambled_18.txt AC 23 ms 924 KiB
scrambled_19.txt AC 26 ms 924 KiB
scrambled_20.txt AC 26 ms 1048 KiB
scrambled_21.txt AC 25 ms 924 KiB
scrambled_22.txt AC 25 ms 852 KiB
scrambled_23.txt AC 25 ms 1316 KiB
scrambled_24.txt AC 25 ms 1056 KiB
scrambled_25.txt AC 28 ms 1564 KiB
scrambled_26.txt AC 24 ms 1060 KiB
scrambled_27.txt AC 25 ms 1180 KiB
scrambled_28.txt AC 26 ms 1312 KiB
scrambled_29.txt AC 26 ms 1568 KiB
scrambled_30.txt AC 25 ms 1316 KiB
scrambled_31.txt AC 27 ms 1440 KiB
scrambled_32.txt AC 24 ms 1308 KiB
scrambled_33.txt AC 28 ms 1624 KiB
scrambled_34.txt AC 25 ms 1224 KiB
scrambled_35.txt AC 28 ms 1568 KiB
scrambled_36.txt AC 27 ms 1440 KiB
scrambled_37.txt AC 26 ms 932 KiB
scrambled_38.txt AC 25 ms 928 KiB
scrambled_39.txt AC 28 ms 924 KiB
scrambled_40.txt AC 28 ms 732 KiB
scrambled_41.txt AC 26 ms 804 KiB
scrambled_42.txt AC 26 ms 804 KiB
scrambled_43.txt AC 27 ms 792 KiB
scrambled_44.txt AC 25 ms 916 KiB
scrambled_45.txt AC 26 ms 796 KiB
scrambled_46.txt AC 26 ms 916 KiB
scrambled_47.txt AC 25 ms 796 KiB
scrambled_48.txt AC 28 ms 916 KiB
scrambled_49.txt AC 25 ms 796 KiB
scrambled_50.txt AC 28 ms 924 KiB
scrambled_51.txt AC 26 ms 840 KiB
scrambled_52.txt AC 29 ms 1696 KiB
scrambled_53.txt AC 25 ms 928 KiB