Submission #139713
Source Code Expand
// include {{{
#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
//#include <deque>
#include <stack>
#include <queue>
//#include <map>
#include <set>
#include <algorithm>
#include <cmath>
#include <numeric>
//#include <complex>
// }}}
using namespace std;
// macro {{{
typedef long long ll;
typedef vector<int> vec;
typedef vector<vec> mat;
typedef pair<int,int> P;
#define rep(i,n) for(int i=0,__end=(n);i<__end;++i)
#define REP(i,j,k) for(int i=j,__end=(k);i<__end;++i)
//#define foreach(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();++it)
#define all(c) (c).begin(),(c).end()
#define rall(c) (c).rbegin(),(c).rend()
#define priority_queue_greater(T) priority_queue< T, vector<T>, greater<T> >
#define F first
#define S second
// }}}
int n;
int gcd(int n, int m){
return m == 0 ? n : gcd(m, n%m);
}
ll rect(const P& a, const P& b){
ll w = abs(a.F - b.F);
ll h = abs(a.S - b.S);
return w * h;
}
bool is_line(const P& a, const P& b, const P& c){
int w1 = abs(a.F - b.F), h1 = abs(a.S - b.S);
int w2 = abs(a.F - c.F), h2 = abs(a.S - c.S);
int g1 = gcd(w1, h1), g2 = gcd(w2, h2);
w1 /= g1; h1 /= g1;
w2 /= g2; h2 /= g2;
return w1 == w2 && h1 == h2;
}
int main(){
while(cin >> n){
vector<P> ps(n);
rep(i,n){ scanf("%d%d", &ps[i].F, &ps[i].S); }
int ans = 0;
rep(i,n)REP(j,i+1,n)REP(k,j+1,n){
P a = ps[i], b = ps[j], c = ps[k];
if( is_line(a,b,c) ){ continue; }
ll S = rect(a,b) + rect(b,c) + rect(c,a);
if( S != 0 && S % 2 == 0 ){ ans++; }
}
cout << ans << endl;
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - 格子点と整数 |
| User | jimon |
| Language | C++ (G++ 4.6.4) |
| Score | 100 |
| Code Size | 1675 Byte |
| Status | AC |
| Exec Time | 86 ms |
| Memory | 932 KiB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:53:48: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| case_01.txt | AC | 52 ms | 796 KiB |
| case_02.txt | AC | 84 ms | 924 KiB |
| case_03.txt | AC | 66 ms | 796 KiB |
| case_04.txt | AC | 22 ms | 924 KiB |
| case_05.txt | AC | 21 ms | 928 KiB |
| case_06.txt | AC | 79 ms | 804 KiB |
| case_07.txt | AC | 23 ms | 804 KiB |
| case_08.txt | AC | 21 ms | 924 KiB |
| case_09.txt | AC | 76 ms | 804 KiB |
| case_10.txt | AC | 37 ms | 736 KiB |
| case_11.txt | AC | 59 ms | 808 KiB |
| case_12.txt | AC | 24 ms | 800 KiB |
| case_13.txt | AC | 68 ms | 812 KiB |
| case_14.txt | AC | 51 ms | 800 KiB |
| case_15.txt | AC | 61 ms | 792 KiB |
| case_16.txt | AC | 50 ms | 808 KiB |
| case_17.txt | AC | 22 ms | 800 KiB |
| case_18.txt | AC | 50 ms | 800 KiB |
| case_19.txt | AC | 21 ms | 804 KiB |
| case_20.txt | AC | 22 ms | 924 KiB |
| case_21.txt | AC | 78 ms | 736 KiB |
| case_22.txt | AC | 34 ms | 920 KiB |
| case_23.txt | AC | 26 ms | 812 KiB |
| case_24.txt | AC | 26 ms | 796 KiB |
| case_25.txt | AC | 31 ms | 796 KiB |
| case_26.txt | AC | 22 ms | 924 KiB |
| case_27.txt | AC | 77 ms | 792 KiB |
| case_28.txt | AC | 22 ms | 804 KiB |
| case_29.txt | AC | 64 ms | 804 KiB |
| case_30.txt | AC | 48 ms | 804 KiB |
| case_31.txt | AC | 22 ms | 920 KiB |
| case_32.txt | AC | 41 ms | 812 KiB |
| case_33.txt | AC | 63 ms | 804 KiB |
| case_34.txt | AC | 58 ms | 800 KiB |
| case_35.txt | AC | 21 ms | 928 KiB |
| case_36.txt | AC | 21 ms | 800 KiB |
| case_37.txt | AC | 21 ms | 916 KiB |
| case_38.txt | AC | 21 ms | 916 KiB |
| case_39.txt | AC | 43 ms | 916 KiB |
| case_40.txt | AC | 63 ms | 736 KiB |
| case_41.txt | AC | 21 ms | 924 KiB |
| case_42.txt | AC | 64 ms | 804 KiB |
| case_43.txt | AC | 23 ms | 920 KiB |
| case_44.txt | AC | 21 ms | 928 KiB |
| case_45.txt | AC | 53 ms | 796 KiB |
| case_46.txt | AC | 51 ms | 788 KiB |
| case_47.txt | AC | 21 ms | 792 KiB |
| case_48.txt | AC | 29 ms | 808 KiB |
| case_49.txt | AC | 23 ms | 800 KiB |
| case_50.txt | AC | 84 ms | 792 KiB |
| case_51.txt | AC | 86 ms | 796 KiB |
| case_52.txt | AC | 86 ms | 736 KiB |
| case_53.txt | AC | 85 ms | 808 KiB |
| case_54.txt | AC | 85 ms | 800 KiB |
| case_55.txt | AC | 86 ms | 920 KiB |
| case_56.txt | AC | 84 ms | 744 KiB |
| case_57.txt | AC | 84 ms | 788 KiB |
| case_58.txt | AC | 86 ms | 924 KiB |
| case_59.txt | AC | 86 ms | 812 KiB |
| case_60.txt | AC | 85 ms | 808 KiB |
| case_61.txt | AC | 85 ms | 736 KiB |
| case_62.txt | AC | 86 ms | 732 KiB |
| case_63.txt | AC | 85 ms | 808 KiB |
| case_64.txt | AC | 84 ms | 676 KiB |
| case_65.txt | AC | 86 ms | 812 KiB |
| case_66.txt | AC | 85 ms | 800 KiB |
| case_67.txt | AC | 85 ms | 800 KiB |
| case_68.txt | AC | 86 ms | 800 KiB |
| case_69.txt | AC | 85 ms | 756 KiB |
| case_70.txt | AC | 29 ms | 808 KiB |
| case_71.txt | AC | 22 ms | 932 KiB |
| sample_1.txt | AC | 21 ms | 928 KiB |
| sample_2.txt | AC | 21 ms | 924 KiB |
| sample_3.txt | AC | 22 ms | 788 KiB |
| sample_4.txt | AC | 21 ms | 840 KiB |