zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    初识DJango框架
    web框架基础
    前端——JavaScript
    前端——css(下)
    前端——css(上)
    前端——html
    spring注解
    spring boot 详解(1)spring boot +mybatis+mysql+jsp
    spring 事务控制
    maven pom文件管理
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5195033.html
Copyright © 2011-2022 走看看