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
2015-03-29 15:12:25+0900
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
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