Submission #1187624
Source Code Expand
#include <cstdio> #include <cmath> #include <cstring> #include <iostream> #include <iomanip> #include <sstream> #include <map> #include <set> #include <array> #include <queue> #include <string> #include <vector> #include <numeric> #include <algorithm> #include <functional> #define MOD 1000000007 #define INF 11234567890 #define in std::cin #define out std::cout #define rep(i,N) for(LL i=0;i<N;++i) typedef long long int LL; typedef std::pair<int, int> P; int Ax, Ay, Bx, By, N, X[112], Y[112]; int ans; bool IsIntersected(int ax,int ay,int bx, int by, int cx, int cy, int dx, int dy) { LL A = ax*by - bx*ay; LL B = cx*dy - dx*cy; LL C = ax*cy - cx*ay; LL D = bx*dy - dx*by; if (A*B < 0 && C*D < 0) { return true; } return false; } int main() { in >> Ax >> Ay >> Bx >> By >> N; rep(i, N) { in >> X[i] >> Y[i]; } int hit = 0; rep(i, N) { if (IsIntersected(Ax - X[i], Ay - Y[i], Bx - X[i], By - Y[i], Ax - X[(i + 1) % N], Ay - Y[(i + 1) % N], Bx - X[(i + 1) % N], By - Y[(i + 1) % N]) == true) { ++hit; } } ans = (hit / 2) + 1; out << ans << std::endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 一刀両断 |
User | Bwambocos |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1145 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00.txt, 00_sample_01.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 1 ms | 256 KB |
00_sample_01.txt | AC | 1 ms | 256 KB |
10_rand_00.txt | AC | 1 ms | 256 KB |
10_rand_01.txt | AC | 1 ms | 256 KB |
10_rand_02.txt | AC | 1 ms | 256 KB |
10_rand_03.txt | AC | 1 ms | 256 KB |
10_rand_04.txt | AC | 1 ms | 256 KB |
10_rand_05.txt | AC | 1 ms | 256 KB |
10_rand_06.txt | AC | 1 ms | 256 KB |
10_rand_07.txt | AC | 1 ms | 256 KB |
10_rand_08.txt | AC | 1 ms | 256 KB |
10_rand_09.txt | AC | 1 ms | 256 KB |
10_rand_10.txt | AC | 1 ms | 256 KB |
10_rand_11.txt | AC | 1 ms | 256 KB |
10_rand_12.txt | AC | 1 ms | 256 KB |
10_rand_13.txt | AC | 1 ms | 256 KB |
10_rand_14.txt | AC | 1 ms | 256 KB |
10_rand_15.txt | AC | 1 ms | 256 KB |
10_rand_16.txt | AC | 1 ms | 256 KB |
10_rand_17.txt | AC | 1 ms | 256 KB |
10_rand_18.txt | AC | 1 ms | 256 KB |
10_rand_19.txt | AC | 1 ms | 256 KB |
10_rand_20.txt | AC | 1 ms | 256 KB |
10_rand_21.txt | AC | 1 ms | 256 KB |
10_rand_22.txt | AC | 1 ms | 256 KB |
10_rand_23.txt | AC | 1 ms | 256 KB |
10_rand_24.txt | AC | 1 ms | 256 KB |
10_rand_25.txt | AC | 1 ms | 256 KB |
10_rand_26.txt | AC | 1 ms | 256 KB |
10_rand_27.txt | AC | 1 ms | 256 KB |
10_rand_28.txt | AC | 1 ms | 256 KB |
10_rand_29.txt | AC | 1 ms | 256 KB |