【POJ1939】:Diplomatic License

제목의 뜻


실례를 제시하고 서로 인접한 두 점의 중점을 구한다. 주의점은 x, y이고 마지막 점은 첫 번째 점과 평균적으로 분배한다.

사고의 방향


뜻대로 코드를 살짝 보면 어떻게 된 일인지 알 수 있으니 6자리 포맷을 유지해야 한다는 점에 주의하세요~

코드

#include <iostream>
#include <iomanip>
#define F fixed
#define S setprecision(6)
#define max 1000
using namespace std;
double x[max],y[max];
int main(){
    int n,i;
    double pos1,pos2;
    while(cin>>n){
        cout<<n;
        for(i=0;i<n;i++){
            cin>>x[i]>>y[i];
        }
        for(i=0;i<n-1;i++){
            pos1 =(x[i]+x[i+1])/2.0;
            pos2 =(y[i]+y[i+1])/2.0;
            cout<<" "<<F<<S<<pos1<<F<<S<<" "<<pos2;
        }
        pos1 = (x[n-1]+x[0])/2.0;
        pos2 = (y[n-1]+y[0])/2.0;
        cout<<" "<<F<<S<<pos1<<" "<<F<<S<<pos2<<endl;
    }
    return 0;
}

좋은 웹페이지 즐겨찾기