• AtCoder Beginner Contest 069


    AtCoder Beginner Contest 069

    比赛链接:https://abc069.contest.atcoder.jp/

    A题题解:水题,N*M划出来的方块是(N-1)*(M-1)。

    AC代码:

    1 #include<iostream>
    2 using namespace std;
    3 int n,m;
    4 int main()
    5 {
    6     cin>>n>>m;
    7     cout<<(n-1)*(m-1)<<endl;
    8     return 0;
    9 }

    B题题解:用length计算字符串S长度N,输出S[0],N-2,S[N-1]即可。

    AC代码:

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 string s;
     5 int main()
     6 {
     7     cin>>s;
     8     int n = s.length();
     9     cout<<s[0]<<n-2<<s[n-1]<<endl;
    10     return 0;
    11 }

    C题题解:如果是4的倍数,正好可以放在两个数的中间,那么最大能放的数就是4的倍数的数*2+1,其中特殊的情况为不是4的倍数却是2的倍数的数有两个及两个以上是可以放在两个4的倍数的数的中间。

    AC代码:

     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 const int maxn = 500005;
     5 int a[maxn];
     6 int n,sum1,sum2;
     7 int main()
     8 {
     9     cin>>n;
    10     for(int i=1;i<=n;i++)
    11     {
    12         cin>>a[i];
    13         if(a[i]%4==0)sum1++;
    14         else if(a[i]%4==2)sum2++;
    15     }
    16     if(sum2>1)
    17     {
    18         int ans=sum2+sum1*2;
    19         if(ans>=n)cout<<"Yes"<<endl;
    20         else cout<<"No"<<endl;
    21     }
    22     else
    23     {
    24         int ans = sum1*2;
    25         if(sum1)ans++;
    26         if(ans>=n)cout<<"Yes"<<endl;
    27         else cout<<"No"<<endl;
    28     }
    29     return 0;
    30 }

    D题题解:找出任意一组解即可,那么从第一种颜色开始画到最后一种颜色,奇数行往右画,偶数行往左画即可。

    AC代码:

     1 #include<iostream>
     2 using namespace std;
     3 const int maxn = 107;
     4 int a[maxn*maxn];
     5 int d[maxn][maxn];
     6 int n,m,c;
     7 int main()
     8 {
     9     cin>>n>>m>>c;
    10     for(int i=1;i<=c;i++)cin>>a[i];
    11     int k = 1;
    12     for(int i=1;i<=n;i++)
    13     {
    14         for(int j=1;j<=m;j++)
    15         {
    16             if(i&1)
    17             {
    18                 if(a[k]>0)
    19                 {
    20                     d[i][j]=k;
    21                     a[k]--;
    22                     if(a[k]==0)k++;
    23                 }
    24             }
    25             else
    26             {
    27                 if(a[k]>0)
    28                 {
    29                     d[i][m-j+1]=k;
    30                     a[k]--;
    31                     if(a[k]==0)k++;
    32                 }
    33             }
    34         }
    35     }
    36     for(int i=1;i<=n;i++)
    37     {
    38         for(int j=1;j<=m;j++)
    39         {
    40             cout<<d[i][j]<<" ";
    41         }
    42         cout<<endl;
    43     }
    44 }
  • 相关阅读:
    C++编译器详解(二)常见precompiling 指令介绍
    C++编译器详解(一)
    Music
    jQuery语法
    Freedom DownTime
    A
    Map类
    伤不起:File.toPath() & Paths.get()
    在不同浏览器中空格显示的效果不一致的问题(主要是宽度不一致)
    关于xmlhttp会使用ie的缓存的问题及解决
  • 原文地址:https://www.cnblogs.com/sortmin/p/8083506.html
Copyright © 2020-2023  润新知