[oj]樱花对称问题

来源:互联网 发布:调节阀选型计算软件 编辑:程序博客网 时间:2024/04/29 02:20

[思路]

横坐标x对称图的特点:

1.所有y坐标加起来sum/n没有余数

2.一对对称坐标中x相同,y加起来为sum/n*2

3.判断一组后进行标记



#include<stdio.h>#include<stdlib.h>int main(){    int n;    int i,j;    int flag;        while(scanf("%d",&n)!=-1)    {        int x[n],y[n],k[n];        int sum;        sum=0;        flag=-1;        for(i=0;i<n;i++)        { k[i]=0;            scanf("%d %d",&x[i],&y[i]);//printf("sum:%d",sum);            sum=sum+y[i];        }        //printf("sum:%d",sum);    sum=2*sum;    if(sum%n!=0) {flag=0;//printf("!!!!");}    else    {        sum=sum/n;        for(i=0;i<n;i++)        {            if(k[i]==0&&y[i]*2!=sum)            {                for(j=i+1;j<=n-1;j++)                {                    if(y[i]+y[j]==sum&&x[j]==x[i])                    {                        k[i]=k[j]=1;                        break;                    }                }                if(j==n) {flag=0;   // printf("@@@@@@");}            }        }        if(flag==-1)    {flag=1;}        }    if(flag==1)    printf("YES\n");    else if(flag==0)    printf("NO\n");    //else      //  printf("!!!!!!!");}    return 0;}


0 0
原创粉丝点击