항 저 우 전기 ACM 2036 개혁 봄바람 이 온 땅 에 불다
2221 단어 geom-다각형 면적 공식
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 12475 Accepted Submission(s): 6283
Problem Description
"개혁 의 봄바람 이 온 땅 에 불고,
AC 못 해.괜찮아.
도저히 고향 에 돌아 갈 수 없다.
아직 1 묘 3 분 의 땅 이 있다.
감사합니다!악대 가 연주 하 다
그런데 일부 학생 들 은 마음가짐 이 아주 좋아 서 매일 게임 을 알 고 있 습 니 다.이번 시험 은 이렇게 간단 한 문제 이자 오리무중 입 니 다.그리고 이렇게 까지 오 다 니.
기름 칠 한 시 몇 구.
좋아,선생님 의 책임 은 바로 너 를 도와 문 제 를 해결 하 는 것 이 야.농 사 를 짓 고 싶 으 면 너 에 게 나 누 어 줄 게.
이 밭 은 절강성 온 주시 창 남 현 영계 진 림 가 점포 촌 에 위치 하고 다각형 모양 의 땅 으로 원래 linle 이 었 으 나 지금 보 내 려 고 합 니 다.
여기 있 습 니 다.그러나 어떤 일 도 그렇게 간단 하지 않다.너 는 먼저 나 에 게 이 땅 이 도대체 얼마나 면적 이 있 는 지 알려 줘 야 한다.만약 에 정확하게 대답 해 야 진실 할 수 있다.
이 땅 을 얻 고 있 습 니 다.
걱정 되 시 죠?농 사 를 짓 는 데 도 AC 지식 이 필요 하 다 는 것 을 알려 드 리 겠 습 니 다!앞으로 연습 이나 잘 해...
Input
입력 데 이 터 는 여러 개의 테스트 인 스 턴 스 를 포함 하고 모든 테스트 인 스 턴 스 는 한 줄 을 차지 합 니 다.각 줄 의 시작 은 정수 n(3<=n<=100)입 니 다.다각형 을 표시 합 니 다.
변수(물론 정점 수),그리고 시계 반대 방향 으로 n 개의 정점 좌표(x1,y1,x2,y2...xn,yn)를
문 제 를 간소화 하면 이곳 의 모든 좌 표 는 정수 로 표시 된다.
입력 데이터 의 모든 정 수 는 32 비트 정수 범위 내 에 있 고 n=0 은 데이터 의 끝 을 나타 내 며 처리 하지 않 습 니 다.
Output
모든 테스트 실례 에 대해 대응 하 는 다각형 면적 을 출력 하 십시오.결 과 는 소수점 뒤의 소수 까지 정확 합 니 다.
모든 인 스 턴 스 의 출력 이 한 줄 을 차지 합 니 다.
Sample Input
3 0 0 1 0 0 1
4 1 0 0 1 -1 0 0 -1
0
Sample Output
0.5
2.0
#include
double area(double a, double b, double c, double d, double e, double f){
return a*d+b*e+c*f-d*e-b*c-a*f;
}
double area(double a, double b, double c, double d){
return a*d-b*c;
}
int main(){
double r;
double x[100], y[100];
int n, i;
while ( ~scanf("%d", &n) && n ){
r = 0;
for ( i=0; i= 2 ){
r += area(x[i-2], y[i-2], x[i-1], y[i-1], x[i], y[i]);
}
*/
if ( i >= 1 ){
r += area(x[i-1], y[i-1], x[i], y[i]);
}
if ( i == n-1 ){
r += area(x[n-1], y[n-1], x[0], y[0]);
}
}
printf("%.1lf
", r/2);
}
return 0;
}