hdoj 2036改革の春風が吹いている.
1595 ワード
改革の春風が吹き荒れる
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22698 Accepted Submission(s): 11741
Problem Description
「改革の春風が吹いている.
いいえACは大丈夫です.
どうしても実家に帰ることができず、
もう1ムーの3分の土地がある.
ありがとう!(バンド奏楽)」
ところで、一部の学生は心理状態がとても良くて、毎日ゲームを知っていて、今回の試験はこんなに簡単な問題で、雲の中で霧の中で、しかも、意外にもこんなにいくつかの油の詩を打ちに来ました.
いいですよ.先生の責任はあなたの問題を解決することです.畑を作りたい以上、あなたを分けます.
この田は浙江省温州市蒼南県霊渓鎮林家舗子村に位置し、多角形の土地で、もともとlinleだったが、今すぐあげるつもりだ.しかし、何事もそんなに簡単ではありません.まず、この土地の面積を教えてください.答えが正しければ、本当にこの土地を手に入れることができます.
困ったでしょう?あなたに知ってもらうには、畑を植えるにもACの知識が必要です!これからもしっかり練習しましょう...
Input
入力データには複数のテストインスタンスが含まれており、各テストインスタンスは1行を占め、各行の最初は整数n(3<=n<=100)であり、多角形の辺数(もちろん頂点数)を表し、次いで反時計回りの順序で与えられたn個の頂点の座標(x 1,y 1,x 2,y 2...xn,yn)であり、問題を簡略化するために、ここでのすべての座標は整数で表される.
入力データのすべての整数は32ビット整数の範囲内であり、n=0はデータの終了を示し、処理しない.
Output
各テストインスタンスについて、対応するポリゴン面積を出力し、小数点以下の小数点まで正確にします.
各インスタンスの出力は1行を占めます.
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
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22698 Accepted Submission(s): 11741
Problem Description
「改革の春風が吹いている.
いいえACは大丈夫です.
どうしても実家に帰ることができず、
もう1ムーの3分の土地がある.
ありがとう!(バンド奏楽)」
ところで、一部の学生は心理状態がとても良くて、毎日ゲームを知っていて、今回の試験はこんなに簡単な問題で、雲の中で霧の中で、しかも、意外にもこんなにいくつかの油の詩を打ちに来ました.
いいですよ.先生の責任はあなたの問題を解決することです.畑を作りたい以上、あなたを分けます.
この田は浙江省温州市蒼南県霊渓鎮林家舗子村に位置し、多角形の土地で、もともとlinleだったが、今すぐあげるつもりだ.しかし、何事もそんなに簡単ではありません.まず、この土地の面積を教えてください.答えが正しければ、本当にこの土地を手に入れることができます.
困ったでしょう?あなたに知ってもらうには、畑を植えるにもACの知識が必要です!これからもしっかり練習しましょう...
Input
入力データには複数のテストインスタンスが含まれており、各テストインスタンスは1行を占め、各行の最初は整数n(3<=n<=100)であり、多角形の辺数(もちろん頂点数)を表し、次いで反時計回りの順序で与えられたn個の頂点の座標(x 1,y 1,x 2,y 2...xn,yn)であり、問題を簡略化するために、ここでのすべての座標は整数で表される.
入力データのすべての整数は32ビット整数の範囲内であり、n=0はデータの終了を示し、処理しない.
Output
各テストインスタンスについて、対応するポリゴン面積を出力し、小数点以下の小数点まで正確にします.
各インスタンスの出力は1行を占めます.
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<stdio.h>
int main()
{
int n,m,j,i,s;
double sum;
double a[110],b[110];
while(scanf("%d",&n),n)
{
for(i=0;i<n;i++)
{
scanf("%lf%lf",&a[i],&b[i]);
}
a[n]=a[0];b[n]=b[0];
sum=0;
for(i=1;i<=n;i++)
sum+=a[i-1]*b[i]-a[i]*b[i-1];
printf("%.1lf
",sum/2);
}
return 0;
}