前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AtCoder Beginner Contest 069【A,水,B,水,C,数学,D,暴力】

AtCoder Beginner Contest 069【A,水,B,水,C,数学,D,暴力】

作者头像
Angel_Kitty
发布2018-04-09 15:32:40
1.2K0
发布2018-04-09 15:32:40
举报

A - K-City


Time limit : 2sec / Memory limit : 256MB

Score : 100 points

Problem Statement

In K-city, there are n streets running east-west, and m streets running north-south. Each street running east-west and each street running north-south cross each other. We will call the smallest area that is surrounded by four streets a block. How many blocks there are in K-city?

Constraints

  • 2≤n,m≤100

Input

Input is given from Standard Input in the following format:

代码语言:javascript
复制
n m

Output

Print the number of blocks in K-city.


Sample Input 1

Copy

代码语言:javascript
复制
3 4

Sample Output 1

Copy

代码语言:javascript
复制
6

There are six blocks, as shown below:

9179be829dc9810539213537d4c7398c.png
9179be829dc9810539213537d4c7398c.png

Sample Input 2

Copy

代码语言:javascript
复制
2 2

Sample Output 2

Copy

代码语言:javascript
复制
1

There are one block, as shown below:

997bfafa99be630b54d037225a5c68ea.png
997bfafa99be630b54d037225a5c68ea.png

题目链接:http://abc069.contest.atcoder.jp/tasks/abc069_a

分析:结论就是ans=(a-1)*(b-1)

下面给出AC代码:

代码语言:javascript
复制
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 inline int read()
 5 {
 6     int x=0,f=1;
 7     char ch=getchar();
 8     while(ch<'0'||ch>'9')
 9     {
10         if(ch=='-')
11             f=-1;
12         ch=getchar();
13     }
14     while(ch>='0'&&ch<='9')
15     {
16         x=x*10+ch-'0';
17         ch=getchar();
18     }
19     return x*f;
20 }
21 inline void write(int x)
22 {
23     if(x<0)
24     {
25         putchar('-');
26         x=-x;
27     }
28     if(x>9)
29     {
30         write(x/10);
31     }
32     putchar(x%10+'0');
33 }
34 int main()
35 {
36     int a,b;
37     cin>>a>>b;
38     cout<<(a-1)*(b-1)<<endl;
39     return 0;
40 }

B - i18n


Time limit : 2sec / Memory limit : 256MB

Score : 200 points

Problem Statement

The word internationalization is sometimes abbreviated to i18n. This comes from the fact that there are 18 letters between the first i and the last n.

You are given a string s of length at least 3 consisting of lowercase English letters. Abbreviate s in the same way.

Constraints

  • 3≤|s|≤100 (|s| denotes the length of s.)
  • s consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:

代码语言:javascript
复制
s

Output

Print the abbreviation of s.


Sample Input 1

Copy

代码语言:javascript
复制
internationalization

Sample Output 1

Copy

代码语言:javascript
复制
i18n

Sample Input 2

Copy

代码语言:javascript
复制
smiles

Sample Output 2

Copy

代码语言:javascript
复制
s4s

Sample Input 3

Copy

代码语言:javascript
复制
xyz

Sample Output 3

Copy

代码语言:javascript
复制
x1z

题目链接:http://abc069.contest.atcoder.jp/tasks/abc069_b

分析:输出第一个,最后一个就好咯

下面给出AC代码:

代码语言:javascript
复制
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 inline int read()
 5 {
 6     int x=0,f=1;
 7     char ch=getchar();
 8     while(ch<'0'||ch>'9')
 9     {
10         if(ch=='-')
11             f=-1;
12         ch=getchar();
13     }
14     while(ch>='0'&&ch<='9')
15     {
16         x=x*10+ch-'0';
17         ch=getchar();
18     }
19     return x*f;
20 }
21 inline void write(int x)
22 {
23     if(x<0)
24     {
25         putchar('-');
26         x=-x;
27     }
28     if(x>9)
29     {
30         write(x/10);
31     }
32     putchar(x%10+'0');
33 }
34 char s[105];
35 int main()
36 {
37     cin>>s;
38     int len=strlen(s);
39     cout<<s[0]<<len-2<<s[len-1]<<endl;
40     return 0;
41 }

C - 4-adjacent


Time limit : 2sec / Memory limit : 256MB

Score : 400 points

Problem Statement

We have a sequence of length N, a=(a1,a2,…,aN). Each ai is a positive integer.

Snuke's objective is to permute the element in a so that the following condition is satisfied:

  • For each 1≤iN−1, the product of ai and ai+1 is a multiple of 4.

Determine whether Snuke can achieve his objective.

Constraints

  • 2≤N≤105
  • ai is an integer.
  • 1≤ai≤109

Input

Input is given from Standard Input in the following format:

代码语言:javascript
复制
N
a1 a2 … aN

Output

If Snuke can achieve his objective, print Yes; otherwise, print No.


Sample Input 1

Copy

代码语言:javascript
复制
3
1 10 100

Sample Output 1

Copy

代码语言:javascript
复制
Yes

One solution is (1,100,10).


Sample Input 2

Copy

代码语言:javascript
复制
4
1 2 3 4

Sample Output 2

Copy

代码语言:javascript
复制
No

It is impossible to permute a so that the condition is satisfied.


Sample Input 3

Copy

代码语言:javascript
复制
3
1 4 1

Sample Output 3

Copy

代码语言:javascript
复制
Yes

The condition is already satisfied initially.


Sample Input 4

Copy

代码语言:javascript
复制
2
1 1

Sample Output 4

Copy

代码语言:javascript
复制
No

Sample Input 5

Copy

代码语言:javascript
复制
6
2 7 1 8 2 8

Sample Output 5

Copy

代码语言:javascript
复制
Yes

题目链接:http://abc069.contest.atcoder.jp/tasks/arc080_a

分析:统计4的倍数,2的倍数还有不是这两个的倍数的数,然后2个2的倍数等于4的倍数,然后就这样了!

下面给出AC代码:

代码语言:javascript
复制
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 inline int read()
 5 {
 6     int x=0,f=1;
 7     char ch=getchar();
 8     while(ch<'0'||ch>'9')
 9     {
10         if(ch=='-')
11             f=-1;
12         ch=getchar();
13     }
14     while(ch>='0'&&ch<='9')
15     {
16         x=x*10+ch-'0';
17         ch=getchar();
18     }
19     return x*f;
20 }
21 inline void write(int x)
22 {
23     if(x<0)
24     {
25         putchar('-');
26         x=-x;
27     }
28     if(x>9)
29     {
30         write(x/10);
31     }
32     putchar(x%10+'0');
33 }
34 int main()
35 {
36     int n;
37     cin>>n;
38     int a=0,b=0,c=0;
39     for(int i=0;i<n;i++)
40     {
41         ll x;
42         x=read();
43         if(x%4==0)
44             a++;
45         else if(x%2==0)
46             b++;
47         else c++;
48     }
49     if(b>0)
50         c++;
51     if(a+1>=c)
52         cout<<"Yes"<<endl;
53     else 
54     cout<<"No"<<endl;
55     return 0;
56 }

D - Grid Coloring


Time limit : 2sec / Memory limit : 256MB

Score : 400 points

Problem Statement

We have a grid with H rows and W columns of squares. Snuke is painting these squares in colors 1, 2, …, N. Here, the following conditions should be satisfied:

  • For each i (1≤iN), there are exactly ai squares painted in Color i. Here, a1+a2+…+aN=HW.
  • For each i (1≤iN), the squares painted in Color i are 4-connected. That is, every square painted in Color i can be reached from every square painted in Color i by repeatedly traveling to a horizontally or vertically adjacent square painted in Color i.

Find a way to paint the squares so that the conditions are satisfied. It can be shown that a solution always exists.

Constraints

  • 1≤H,W≤100
  • 1≤NHW
  • ai≥1
  • a1+a2+…+aN=HW

Input

Input is given from Standard Input in the following format:

代码语言:javascript
复制
H W
N
a1 a2 … aN

Output

Print one way to paint the squares that satisfies the conditions. Output in the following format:

代码语言:javascript
复制
c11 … c1W
:
cH1 … cHW

Here, cij is the color of the square at the i-th row from the top and j-th column from the left.


Sample Input 1

Copy

代码语言:javascript
复制
2 2
3
2 1 1

Sample Output 1

Copy

代码语言:javascript
复制
1 1
2 3

Below is an example of an invalid solution:

代码语言:javascript
复制
1 2
3 1

This is because the squares painted in Color 1 are not 4-connected.


Sample Input 2

Copy

代码语言:javascript
复制
3 5
5
1 2 3 4 5

Sample Output 2

Copy

代码语言:javascript
复制
1 4 4 4 3
2 5 4 5 3
2 5 5 5 3

Sample Input 3

Copy

代码语言:javascript
复制
1 1
1
1

Sample Output 3

Copy

代码语言:javascript
复制
1

题目链接:http://abc069.contest.atcoder.jp/tasks/arc080_b

分析:从一个点可以到达其它所有的点,直接来一个水平填充好像就过了

下面给出AC代码:

代码语言:javascript
复制
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 inline int read()
 5 {
 6     int x=0,f=1;
 7     char ch=getchar();
 8     while(ch<'0'||ch>'9')
 9     {
10         if(ch=='-')
11             f=-1;
12         ch=getchar();
13     }
14     while(ch>='0'&&ch<='9')
15     {
16         x=x*10+ch-'0';
17         ch=getchar();
18     }
19     return x*f;
20 }
21 inline void write(int x)
22 {
23     if(x<0)
24     {
25         putchar('-');
26         x=-x;
27     }
28     if(x>9)
29     {
30         write(x/10);
31     }
32     putchar(x%10+'0');
33 }
34 int w,h,n;
35 int s[105][105];
36 int cnt[10005];
37 int main()
38 {
39     h=read();
40     w=read();
41     n=read();
42     for(int i=1;i<=n;i++)
43         cnt[i]=read();
44     int k=1;
45     for(int i=1;i<=h;i++)
46     {
47         if(i%2==1)
48         {
49             for(int j=1;j<=w;j++)
50             {
51                 if(cnt[k]==0)
52                 k++;
53                 cnt[k]--;
54                 s[i][j]=k;
55             }
56         }
57     else
58     {
59         for(int j=w;j>0;j--)
60         {
61             if(cnt[k]==0)
62               k++;
63             cnt[k]--;
64             s[i][j]=k;
65         }
66     }
67     }
68     for(int i=1;i<=h;i++)
69     {
70         for(int j=1;j<=w;j++)
71             printf("%d ",s[i][j]);
72         printf("\n");
73     }
74     return 0;
75 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • A - K-City
    • Problem Statement
      • Constraints
        • Input
          • Output
            • Sample Input 1
              • Sample Output 1
                • Sample Input 2
                  • Sample Output 2
                  • B - i18n
                    • Problem Statement
                      • Constraints
                        • Input
                          • Output
                            • Sample Input 1
                              • Sample Output 1
                                • Sample Input 2
                                  • Sample Output 2
                                    • Sample Input 3
                                      • Sample Output 3
                                      • C - 4-adjacent
                                        • Problem Statement
                                          • Constraints
                                            • Input
                                              • Output
                                                • Sample Input 1
                                                  • Sample Output 1
                                                    • Sample Input 2
                                                      • Sample Output 2
                                                        • Sample Input 3
                                                          • Sample Output 3
                                                            • Sample Input 4
                                                              • Sample Output 4
                                                                • Sample Input 5
                                                                  • Sample Output 5
                                                                  • D - Grid Coloring
                                                                    • Problem Statement
                                                                      • Constraints
                                                                        • Input
                                                                          • Output
                                                                            • Sample Input 1
                                                                              • Sample Output 1
                                                                                • Sample Input 2
                                                                                  • Sample Output 2
                                                                                    • Sample Input 3
                                                                                      • Sample Output 3
                                                                                      领券
                                                                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档