zoukankan      html  css  js  c++  java
  • 洛谷——P2383 狗哥玩木棒

    https://www.luogu.org/problem/show?pid=2383

    题目背景

    狗哥又趁着语文课干些无聊的事了...

    题目描述

    现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢?

    输入输出格式

    输入格式:

    输入文件中的第一行是一个整数n表示测试的组数,接下来n行表示每组的测试数据。 每行的第一个数为m(4<=m<=20),接下来m个数ai(1<=ai<=1000)表示木棒的长度。

    输出格式:

    对于每组测试数据,如果可以组成正方形输出“yes”,否则输出“no”。

    输入输出样例

    输入样例#1:
    3
    4 1 1 1 1 
    5 10 20 30 40 50 
    8 1 7 2 6 4 4 3 5
    输出样例#1:
    yes
    no
    yes

    说明

    狗哥快抓狂了

    DFS入门中。。

     1 #include <cstdio>
     2 
     3 int n,a[26],tot;
     4 int lenedge[5];
     5 bool flag;
     6 
     7 void DFS(int now)
     8 {
     9     if(flag) return ;
    10     if(now==n+1)
    11     {
    12         flag=1;
    13         return ;
    14     }
    15     for(int i=1;i<5;i++)
    16     {
    17         if(lenedge[i]>=a[now])
    18         {
    19             lenedge[i]-=a[now];
    20             DFS(now+1);
    21             lenedge[i]+=a[now];
    22         }
    23     }
    24 }
    25 
    26 int AC()
    27 {
    28     int t; scanf("%d",&t);
    29     for(;t--;tot=0,flag=0)
    30     {
    31         scanf("%d",&n);
    32         for(int i=1;i<=n;i++)
    33             scanf("%d",a+i),tot+=a[i];
    34         if(tot%4)
    35         {
    36             puts("no");
    37             continue;
    38         }
    39         for(int i=1;i<5;i++)
    40             lenedge[i]=tot/4;
    41         DFS(1);
    42         if(flag) puts("yes");
    43         else puts("no");
    44     }
    45     return 0;
    46 }
    47 
    48 int Hope=AC();
    49 int main(){;}
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    numpy用法介绍-未完待续
    GeoJSON相关操作
    awk日志分析
    awk获取外部变量
    Shell编程二
    Shell编程
    Linux监控平台搭建
    Linux集群架构
    Linux集群
    MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7468855.html
Copyright © 2011-2022 走看看