zoukankan      html  css  js  c++  java
  • 8月18号的练习:HDU 1172&&HDU 2112&&POJ 1321&&POJ 3006&&POJ 1837

    猜数字 HDU 1172

    一道模拟题:水爆了!!竞无从下手

    就是暴力枚举!!

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<algorithm>
     4 using namespace std;
     5 struct line
     6 {
     7     int x;
     8     int y;
     9     int z;
    10 }a[105];
    11 int main()
    12 {
    13     int a1[5],b2[5];
    14     int n,i,j,k,k1,w,sum;
    15     while(scanf("%d",&n)!=EOF)
    16     {
    17         if(n==0)
    18             break;
    19         for(i=1;i<=n;i++)
    20             scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
    21         sum=0;
    22         for(i=1000;i<=9999;i++)
    23         {
    24             int d1=0;
    25             a1[1]=i%10;
    26             a1[2]=(i/10)%10;
    27             a1[3]=(i/100)%10;
    28             a1[4]=i/1000;
    29             for(j=1;j<=n;j++)
    30             {
    31                 int d=0,vis[5]={0};
    32                 b2[1]=a[j].x%10;
    33                 b2[2]=(a[j].x/10)%10;
    34                 b2[3]=(a[j].x/100)%10;
    35                 b2[4]=a[j].x/1000;
    36                 for(k=1;k<=4;k++)
    37                     if(a1[k]==b2[k])
    38                         d++;
    39                 if(d!=a[j].z)
    40                 {
    41                     d1=1;
    42                     break;
    43                 }
    44                 d=0;
    45                 for(k=1;k<=4;k++)
    46                     for(k1=1;k1<=4;k1++)
    47                         if(a1[k]==b2[k1]&&!vis[k1])
    48                     {
    49                         vis[k1]=1;
    50                         d++;
    51                         break;
    52                     }
    53                 if(d!=a[j].y)
    54                 {
    55                     d1=1;
    56                     break;
    57                 }
    58             }
    59             if(d1==0)
    60             {
    61                 sum++;
    62                 w=i;
    63             }
    64             if(sum==2)
    65             {
    66                 break;
    67             }
    68         }
    69         if(sum==2)
    70             printf("Not sure
    ");
    71         else
    72             printf("%d
    ",w);
    73     }
    74     return 0;
    75 }

    HDU Today HDU 2112 参见:http://www.cnblogs.com/tt123/p/3240066.html

    棋盘问题 POJ 1321

    dfs();先搜列,再搜行。。。

    一定不能同时搜行和列!!!

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<algorithm>
     4 using namespace std;
     5 char a[10][10];
     6 int sum,n,m;
     7 int add(int x,int y)
     8 {
     9     int i;
    10     for(i=0;i<n;i++)
    11         if(a[x][i]=='1')
    12             return 0;
    13     for(i=0;i<n;i++)
    14         if(a[i][y]=='1')
    15             return 0;
    16     return 1;
    17 }
    18 void dfs(int x,int t)
    19 {
    20     if(t==m)
    21     {
    22         sum++;
    23         return ;
    24     }
    25     if(x>=n)
    26         return ;
    27     for(int i=0;i<n;i++)
    28         if(a[x][i]=='#'&&add(x,i))
    29     {
    30         a[x][i]='1';
    31         dfs(x,t+1);
    32         a[x][i]='#';
    33     }
    34     dfs(x+1,t);
    35 }
    36 int main()
    37 {
    38     while(scanf("%d%d",&n,&m)!=EOF)
    39     {
    40         if(n==-1&&m==-1)
    41             break;
    42         for(int i=0;i<n;i++)
    43             scanf("%s",a[i]);
    44         sum=0;
    45         dfs(0,0);
    46         printf("%d
    ",sum);
    47     }
    48     return 0;
    49 }

    Dirichlet's Theorem on Arithmetic Progressions  POJ 3006

    一个素数问题!直接进行判断就行了!!!(注意1的情况)

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<stdio.h>
     4 #include<math.h>
     5 using namespace std;
     6 int add(int x)
     7 {
     8     int d;
     9     if(x==1)
    10         return 0;
    11     d=sqrt((double)x);
    12     for(int i=1;i<=d;i++)
    13         if(x%i==0&&i!=1)
    14             return 0;
    15     return 1;
    16 }
    17 int main()
    18 {
    19     int n,m,t,i,d;
    20     while(scanf("%d%d%d",&n,&m,&t)!=EOF)
    21     {
    22         if(n==0&&m==0&&t==0)
    23             break;
    24         d=0;
    25         for(i=n;;i+=m)
    26         {
    27             if(add(i))
    28                 d++;
    29             if(d==t)
    30                 break;
    31         }
    32         printf("%d
    ",i);
    33     }
    34     return 0;
    35 }

    Balance  POJ 1837

  • 相关阅读:
    Support for the experimental syntax 'classProperties' isn't currently enabled
    CssSyntaxError (2:1) Unknown word 1 | > 2 | var content = require("!!./index.css");
    vue-transition实现加入购物车效果及其他动画效果实现
    Array.reduce()方法
    Object.keys()返回对象自身可枚举属性组成的数组
    vue + mixin混入对象使用
    el-table + el-form实现可编辑表格字段验证
    深圳面试题
    深圳两年面试题
    JVM中的STW和CMS
  • 原文地址:https://www.cnblogs.com/tt123/p/3271679.html
Copyright © 2011-2022 走看看