Submission #378291
Source Code Expand
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<utility>
#include<complex>
using namespace std;
#define reE(i,a,b) for(auto (i)=(a);(i)<=(b);(i)++)
#define rE(i,b) reE(i,0,b)
#define reT(i,a,b) for(auto (i)=(a);(i)<(b);(i)++)
#define rT(i,b) reT(i,0,b)
#define rep(i,a,b) reE(i,a,b);
#define rev(i,a,b) for(auto (i)=(b)-1;(i)>=(a);(i)--)
#define fe(i,b) for (auto &(x):b);
#define itr(i,b) for(auto (i)=(b).begin();(i)!=(b).end();++(i))
#define rti(i,b) for(auto (i)=(b).rbegin();(i)!=(b).rend();++(i))
#define LL long long
#define all(b) (b).begin(),(b).end()
#define input_init stringstream ss; string strtoken, token; istringstream is
#define input_line getline(cin, strtoken);is.str(strtoken);is.clear(istringstream::goodbit)
#define input_token(num) ss.str(""); ss.clear(stringstream::goodbit); getline(is, token, ','); ss << token; ss >> num
#define dir(xx,yy,x,y,i) (xx)=(x)+dir[(i)],(yy)=(y)+dir[(i)+1]
typedef complex<double> P;
typedef vector<P> Poly;
const LL INF = 1 << 30;
const double eps = 1e-8;
const int dir[] = { 0, 1, 0, -1, 0 };
bool state[1010][1010] = {false};
bool mstate[1010][3] = { false };
int m,n;
P points[1010];
P press[1010];
P ms[3];
bool game(){
switch (m){
case 1:{
if (abs(ms[0] - points[0]) - press[0].real() > eps)return false;
if (n>1)return false;
return true;
}
case 2:{
bool f = false;
if (abs(ms[0] - points[0]) - press[0].real() <eps){
if (n<2||abs(ms[1] - points[1]) - press[1].real() < eps)
f = true;
}
else
if (abs(ms[1] - points[0]) - press[0].real() <eps)
if (n<2||abs(ms[0] - points[1]) - press[1].real() < eps)
f = true;
reT(i, 2, n)
if (abs(points[i] - points[i - 2]) - (press[i].real() - press[i - 1].real()) > eps)f = false;
return f;
}
case 3:{
rT(i, 3){
if (abs(ms[i] - points[0]) - press[0].real() < eps)
mstate[0][i] = true;
}
rT(i, 3)if (n > 1 && mstate[0][i])
rT(j, 2)if (abs(ms[(i + 1 + j) % 3] - points[1]) - press[1].real() < eps)mstate[1][(i + 1 + (j ^ 1)) % 3] = true;
reT(i,1, n-1){
if (abs(points[i + 1] - points[i - 1]) - (press[i + 1].real() - press[i].real()) < eps){
rT(j, 3)mstate[i + 1][j] = mstate[i][j];
rT(j, i)state[i + 1][j] = state[i][j];
}
rT(j, 3)if (mstate[i][j] && abs(points[i + 1] - ms[j]) - press[i + 1].real() < eps)state[i + 1][i - 1] = true;
rT(j, i)if (state[i][j] && abs(points[i + 1] - points[j]) - (press[i + 1].real()-press[j].imag()) < eps)state[i + 1][i - 1] = true;
}
rT(i, 3)if (mstate[n - 1][i])return true;
rT(i, n)if (state[n - 1][i])return true;
return false;
}
}
return true;
}
int main(void){
double x, y,s,e;
cin >> m;
rT(i, m){ cin >> x >> y; ms[i].real(x); ms[i].imag(y); }
cin >> n;
rT(i, n){
cin >> x >> y >> s >> e;
points[i].real(x);
points[i].imag(y);
press[i].real(s);
press[i].imag(e);
if (i > 0 && points[i] == points[i - 1]){
press[i - 1].imag(press[i].imag()); i--; n--;
}
}
if (game())cout << "YES" << endl;
else cout << "NO" << endl;
return(0);
}
Submission Info
Submission Time |
|
Task |
D - ラボライブ タフグローバルフェスティバル |
User |
btk15049 |
Language |
C++11 (GCC 4.9.2) |
Score |
200 |
Code Size |
3338 Byte |
Status |
AC |
Exec Time |
38 ms |
Memory |
1804 KB |
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 |
26 ms |
928 KB |
scrambled_01.txt |
AC |
25 ms |
924 KB |
scrambled_02.txt |
AC |
26 ms |
924 KB |
scrambled_03.txt |
AC |
38 ms |
1800 KB |
scrambled_04.txt |
AC |
36 ms |
1804 KB |
scrambled_05.txt |
AC |
38 ms |
1804 KB |
scrambled_06.txt |
AC |
27 ms |
928 KB |
scrambled_07.txt |
AC |
25 ms |
928 KB |
scrambled_08.txt |
AC |
26 ms |
916 KB |
scrambled_09.txt |
AC |
26 ms |
924 KB |
scrambled_10.txt |
AC |
26 ms |
928 KB |
scrambled_11.txt |
AC |
26 ms |
920 KB |
scrambled_12.txt |
AC |
26 ms |
920 KB |
scrambled_13.txt |
AC |
25 ms |
804 KB |
scrambled_14.txt |
AC |
26 ms |
928 KB |
scrambled_15.txt |
AC |
26 ms |
924 KB |
scrambled_16.txt |
AC |
26 ms |
928 KB |
scrambled_17.txt |
AC |
26 ms |
928 KB |
scrambled_18.txt |
AC |
24 ms |
932 KB |
scrambled_19.txt |
AC |
25 ms |
904 KB |
scrambled_20.txt |
AC |
25 ms |
928 KB |
scrambled_21.txt |
AC |
27 ms |
928 KB |
scrambled_22.txt |
AC |
26 ms |
864 KB |
scrambled_23.txt |
AC |
26 ms |
924 KB |
scrambled_24.txt |
AC |
25 ms |
872 KB |
scrambled_25.txt |
AC |
30 ms |
1036 KB |
scrambled_26.txt |
AC |
27 ms |
924 KB |
scrambled_27.txt |
AC |
27 ms |
1032 KB |
scrambled_28.txt |
AC |
27 ms |
904 KB |
scrambled_29.txt |
AC |
30 ms |
904 KB |
scrambled_30.txt |
AC |
27 ms |
924 KB |
scrambled_31.txt |
AC |
26 ms |
920 KB |
scrambled_32.txt |
AC |
25 ms |
928 KB |
scrambled_33.txt |
AC |
28 ms |
928 KB |
scrambled_34.txt |
AC |
27 ms |
864 KB |
scrambled_35.txt |
AC |
28 ms |
904 KB |
scrambled_36.txt |
AC |
27 ms |
924 KB |
scrambled_37.txt |
AC |
28 ms |
800 KB |
scrambled_38.txt |
AC |
25 ms |
920 KB |
scrambled_39.txt |
AC |
26 ms |
924 KB |
scrambled_40.txt |
AC |
26 ms |
928 KB |
scrambled_41.txt |
AC |
26 ms |
840 KB |
scrambled_42.txt |
AC |
24 ms |
996 KB |
scrambled_43.txt |
AC |
25 ms |
924 KB |
scrambled_44.txt |
AC |
26 ms |
932 KB |
scrambled_45.txt |
AC |
27 ms |
800 KB |
scrambled_46.txt |
AC |
26 ms |
928 KB |
scrambled_47.txt |
AC |
25 ms |
864 KB |
scrambled_48.txt |
AC |
25 ms |
924 KB |
scrambled_49.txt |
AC |
25 ms |
932 KB |
scrambled_50.txt |
AC |
27 ms |
804 KB |
scrambled_51.txt |
AC |
27 ms |
924 KB |
scrambled_52.txt |
AC |
30 ms |
932 KB |
scrambled_53.txt |
AC |
29 ms |
940 KB |