• HUST 1353 Dartboard


    构造。应该有多种构造方法。做的时候WA了好几发,怀疑做法是错的,事实上是代码写搓了。。

    我是这样构造的:先从上往下左右放奇数,再从下往上左右填偶数

    (一)如果n/2是偶数(以12为例) 左边列是内环,右边列是外环

    (二)如果n/2是奇数(以10为例) 左边列是内环,右边列是外环

    #include <stdio.h>
    #include <algorithm>
    #include <string.h>
    #include <queue>
    #include <stack>
    #include <map>
    #include<cmath>
    #include <vector>
    using namespace std;
    
    int a[500],b[500];
    int n;
    int ans[500];
    int tot;
    
    int main()
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
    
            int num=n/2;
            memset(a,0,sizeof a);
            memset(b,0,sizeof b);
    
            int small=1;
            int large=n-1;
            for(int i=1;i<=(num+1)/2;i++)
            {
                if(i%2==1)
                {
                    b[i]=small;
                    b[num-i+1]=large;
                }
    
                else
                {
                    a[i]=small;
                    a[num-i+1]=large;
                }
                small=small+2;
                large=large-2;
            }
    
            int x=2;
            for(int i=num;i>=1;i--)
            {
                if(a[i]==0) a[i]=x;
                else b[i]=x;
                x=x+2;
            }
    
          //  for(int i=1;i<=n/2;i++) printf("%d ",a[i]); printf("
    ");
          //  for(int i=1;i<=n/2;i++) printf("%d ",b[i]); printf("
    ");
    
            tot=1;
            for(int i=n/2;i>=1;i--)
            {
                ans[tot]=a[i]; tot++;
                ans[tot]=b[i]; tot++;
            }
    
            ans[n+1]=ans[1]; ans[n+2]=ans[2];
    
            int sum=0;
            for(int i=1;i<=n;i++)
                sum=sum+(ans[i]-ans[i+2])*(ans[i]-ans[i+2]);
    
            for(int i=1;i<=n/2;i++)
                sum=sum+(ans[2*i-1]-ans[2*i])*(ans[2*i-1]-ans[2*i]);
    
            printf("%d
    ",sum);
        }
    
        return 0;
    }
  • 相关阅读:
    Redis-cluster集群
    MySQL-binlog日志格式
    MySQL-备份与恢复
    PG-内存参数配置标准
    [POJ1724]Roads
    [POJ1062][最短路]昂贵的聘礼
    我的小博客美化记(仍在持续修改和增加,敬请持续关注)
    [离散化模板][并查集][洛谷1955]程序自动化分析
    python调用百度接口解析/逆解析地址
    datax安装部署
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5195033.html
Copyright © 2020-2023  润新知