Submission #9484

# Submission time Handle Problem Language Result Execution time Memory
9484 2014-09-28T06:47:11 Z lhch6759 N-orthotope (kriii2_N) C++
0 / 4
0 ms 1672 KB
// 제2회 kriiICPC
// 
// 

#include <iostream>
#include <vector>

using namespace std;


int main(){

	int case_num;
	cin >> case_num;

	int A[12][2];
	int B[12][2];
	int orthotope[12]; //안겹칠 경우 -1, 한점에서 만나는경우 0, 선이 겹치는 경우 1
	
	//input
	for (int nc = 0; nc < case_num; nc++){
		orthotope[nc] = -1;
	
		for (int n = 0; n < 2; n++){
			cin >> A[nc][n];	
		}
	}
	for (int nc = 0; nc < case_num; nc++){
		for (int n = 0; n < 2; n++){
			cin >> B[nc][n];
		}
	}
	
	//
	
	for (int i = 0; i < case_num; i++){

		// 선분으로 만난 경우
		if (A[i][1] <= B[i][1] && B[i][0] <= A[i][1]
			) orthotope[i] = 1; //A[i][1]

		if (B[i][0] <= A[i][0] && A[i][0] <= B[i][1]
			) orthotope[i] = 1; // A[i][0]

		if (B[i][0] >= A[i][0] && B[i][0] <= A[i][1] 
			) orthotope[i] = 1; // B[i][0]
		if (B[i][1] <= A[i][1] && B[i][1] >= A[i][0]
			) orthotope[i] = 1; // B[i][1]

		// 점으로 만난 경우
		if (A[i][1] == B[i][0])  orthotope[i] = 0; //B[i][0]
		if (B[i][1] == A[i][0])  orthotope[i] = 0; //A[i][0]
		if ( orthotope[i] == 1 && 
			( A[i][0] == A[i][1] || B[i][0] == B[i][1] ))  orthotope[i] = 0;
	}
	int result = -1;
	for (int i = 0; i < case_num; i++){
		if (orthotope[i] > 0){
			if (result == -1) result = 0;
			result++;
		}
	}
	
	if (result == -1){
		for (int i = 0; i < case_num; i++){
			if (orthotope[i] == 0) result = 0;
		}
	}
	cout << result << endl;

	
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1672 KB Output is correct
2 Correct 0 ms 1672 KB Output is correct
3 Correct 0 ms 1672 KB Output is correct
4 Correct 0 ms 1672 KB Output is correct
5 Correct 0 ms 1672 KB Output is correct
6 Correct 0 ms 1672 KB Output is correct
7 Incorrect 0 ms 1672 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Halted 0 ms 0 KB -