• RCC 2014 Warmup (Div. 2)


    A.

    读题读了好久。。。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 const int INF=1<<28;
     5 using namespace std;
     6 int main()
     7 {
     8     int c,d;
     9     int n,m,k;
    10     while(cin>>c>>d)
    11     {
    12         cin>>n>>m>>k;
    13         if (n*m <= k)
    14         {
    15             puts("0");
    16             continue;
    17         }
    18         int ex = (n*m-k)/n;
    19         if ((n*m-k)%n!=0)
    20         ex += 1;
    21         int ey = n*m-k;
    22         int ans = INF;
    23         for (int i = 0;i <= ex; i++)
    24         for (int j = 0;j <= ey; j++)
    25         {
    26             if (n*i+j >= n*m-k)
    27             {
    28                 ans = min(ans,c*i+d*j);
    29             }
    30         }
    31         cout<<ans<<endl;
    32     }
    33     return 0;
    34 }
    View Code

    B.

    开始排序+暴力。。写的好麻烦。。关键是题意不好弄懂。。理解了就好写了。。

     1 #include <stdio.h>
     2 #include <string.h>
     3 const int N=100005;
     4 int c[N];
     5 int main()
     6 {
     7     int n;
     8     scanf("%d",&n);
     9     int x,y,flag = 0;
    10     memset(c,0,sizeof(c));
    11     for (int i = 0; i < n; i++)
    12     {
    13         scanf("%d%d",&x,&y);
    14         if (c[y] < x)
    15         {
    16             flag = 1;
    17             break;
    18         }
    19         else if (c[y]==x)
    20             c[y]++;
    21     }
    22     if (!flag)
    23         puts("YES");
    24     else
    25         puts("NO");
    26 }
    View Code


    C.

    直接暴力。。

     1 #include <stdio.h>
     2 #include <string.h>
     3 const int N=1002;
     4 int vis[N][N];
     5 int main()
     6 {
     7     int n,k;
     8     while(~scanf("%d%d",&n,&k))
     9     {
    10         int flag = 0;
    11         int ans = 0;
    12         memset(vis,0,sizeof(vis));
    13         for (int i = 1; i <= n; i++)
    14         {
    15             int cnt = 0;
    16             for (int j = 1; j <= n; j++)
    17             {
    18                 if (i==j||vis[i][j])
    19                     continue;
    20                 if (cnt==k)
    21                     break;
    22                 vis[i][j] = 1;
    23                 vis[j][i] = 2;
    24                 cnt++,ans++;
    25             }
    26             if (cnt!=k)
    27             {
    28                 flag = 1;
    29                 break;
    30             }
    31         }
    32         if (flag)
    33         {
    34             puts("-1");
    35             continue;
    36         }
    37         printf("%d
    ",ans);
    38         for (int i = 1; i <= n; i++)
    39         {
    40             for (int j = 1; j <= n; j++)
    41                 if (vis[i][j]==1)
    42                 {
    43                     printf("%d %d
    ",i,j);
    44                 }
    45         }
    46     }
    47     return 0;
    48 }
    View Code
  • 相关阅读:
    CentOS 7拨号上网(ADSL & PPPoE)
    linux使用nmcli重新生成网卡配置文件
    Linux 内存缓存占用过大,Centos7设置定时清除buff/cache的脚本
    部署redis6.0 常见问题
    ssh 升级导致的hadoop 主备切换失败
    配置zookeeper的 ACL权限
    sqoop 创建跟mysql相同表结构的hive表报错
    vim中显示不可见字符
    supervisor 使用
    使用hive streaming 统计Wordcount
  • 原文地址:https://www.cnblogs.com/lahblogs/p/3672369.html
Copyright © 2020-2023  润新知