前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ACM之7-25日中期比赛

ACM之7-25日中期比赛

作者头像
Tanger
发布2021-06-16 14:35:12
3700
发布2021-06-16 14:35:12
举报
文章被收录于专栏:Tanger的思源地Tanger的思源地

1.A:奇数和数组

题目描述

给你一个由n个整数组成的数组a。 在一次移动中,您可以选择两个下标 1≤i,j≤n,i≠j并且设置ai:=aj。您可以执行这样的移动任意次数(可能是零次)。您可以在不同的操作中选择不同的下标。 操作:=是赋值的操作(即选择 i 和 j 并用 aj 替换 a i)。 你的任务是判断是否有可能得到一个元素之和为奇数(不能被2整除)的数组。

1.A:奇数和数组

题目描述

给你一个由n个整数组成的数组a。 在一次移动中,您可以选择两个下标 1≤i,j≤n,i≠j并且设置ai:=aj。您可以执行这样的移动任意次数(可能是零次)。您可以在不同的操作中选择不同的下标。 操作:=是赋值的操作(即选择 i 和 j 并用 aj 替换 a i)。 你的任务是判断是否有可能得到一个元素之和为奇数(不能被2整除)的数组。

输入

输入的第一行包含一个整数t(1≤t≤2000)——测试用例的数量。

接下来的2t行描述了测试用例。

测试用例的第一行包含一个整数n(1≤n≤2000)——a中的元素数。

测试用例的第二行包含n个整数a1,a2,…,an (1≤ai≤2000),其中ai是a的第I个元素 保证所有测试用例的n之和不超过2000 (∑n≤2000)。

输出

对于每个测试用例,如果能得到一个奇数元素和的数组,输出“YES”(不加引号),否则为“NO”。

样例输入
代码语言:javascript
复制
5
2
2 3
4
2 2 8 8
3
3 3 3
4
5 5 5 5
4
1 1 1 1
样例输出
代码语言:javascript
复制
YES
NO
YES
NO
NO
参考程序

2.B:暗箱操作

题目描述

有两个英语菜鸡lzh和xzy,每个人所能解决的问题都不一样,每个学期的英语考试到了,对于每一个英语题目都有一个相应的分数且每道题的相应分数p_i不能小于1,所有题目的分数总和最低的人就获得挂科重修再来一次,作为lzh好朋友的你,为了让lzh的英语考试分数比xzy高,你需要偷偷操控每题的分数p_i,但是如果p_i太大,lzh就会因为作弊被抓住,所以你要做的就是最小化所有英语题目中的最大分数p_i。

输入

第一行包含一个整数n(1<=n<=100)代表英语题目的数量

第二行有n个整数r1,r2 …,rn (0<=ri<=1).ri=1意味着lzh会i-题目,ri=0意味着它不会i- 题目

第三行有n个整数b1,b2, …,bn (0<=bi<=1).bi=1意味着xzy会i-题目,bi=0意味着它不会i- 题目

输出

如果你不能通过任何手段让lzh的分数大于xzy就输出-1 否则输出你在所有项目中修改分数的最大值

样例输入
代码语言:javascript
复制
5
1 1 1 0 0
0 1 1 1 1
样例输出
代码语言:javascript
复制
3
提示

对于样例来说,你只需要把第一道题的分数改为3,第二道题的分数改为1,第三道题的分数改为3,第四道题的分数改为1,第五题的分数改为1 那么lzh的得分就是3+1+3=7,而xzy的得分是1+3+1+1=6,lzh的分数就比xzy的高了

参考程序

3.C:简简单单A+B

题目描述

给出三个整数 A,B,N; 1<A,B,N<1e9

我们可以进行如下操作

操作 1:让A=A+B;

操作 2:让B=A+B;

问最少需要多少次操作 可以使max(A,B)严格大于N max(a,b)为(A,B中较大的那个)

输入

第一行一个整数T 代表测试组数

下面T行 1<T<100

每行三个整数 A,B,N 意义如题所示 1<A,B,N<1e9

输出

输出T行

每行一个整数 代表所需要的最少操作

样例输入
代码语言:javascript
复制
2
1 2 3
5 4 100
样例输出
代码语言:javascript
复制
2
7
参考程序

4.D:淘淘的暗号

题目描述

淘淘的暗号为一串由n个小写字母组成的字符串b,原文a生成b的方法为a中从左到右将每个长度为2的子串加入到b中,例如a串为’abcd’,那么子串从左到右的顺序为’ab’,’bc’,’cd’,则b为’abbccd’

输入

输入长为n(3<=n<=100000)的暗号b

输出

输出原文a

样例输入
代码语言:javascript
复制
abbaac
样例输出
代码语言:javascript
复制
abac
参考程序
代码语言:javascript
复制
#include<string.h>
#include<iostream>
using namespace std;
int main(){
    int n;
    char s[100001];
    gets(s);
    n=strlen(s);
    int i=0;
    while(i<=n-1){
        cout<<s[i]; 
        i+=2;
    }
    cout<<s[n-1];
    return 0;
} 

5.E:淘淘的序列

题目描述

对于一个长为n的数字序列中的每个数字ai,若当i为奇数时ai也为奇数,则称它为淘淘序列。同时,淘淘每次可以将序列中两个任意数字交换位置,求出淘淘需要多少次交换能将一个序列变为淘淘序列

注意 :i从0开始

输入

第一行输入一个整数n(1<=n<=100000),第二行输入n个整数ai(0<=i<=n-1)

输出

输出一个整数,代表淘淘最小需要做多少次交换操作能将给定序列变为淘淘序列,若不能变成淘淘序列输出-1

样例输入
代码语言:javascript
复制
4
3 2 7 6
样例输出
代码语言:javascript
复制
2
参考程序

6.F:打牌

题目描述

sys和llf在打牌,他们觉得现有的玩法太简单,所以他们玩起了摸牌游戏 规则如下

有N张牌 两个人轮流摸牌 每次摸牌的数量只能是2的幂次 比如 1,2,4,8,16 …… 当轮到某人摸牌,此人若无牌可摸,败 llf先手摸牌 他们两人都会采取最优策略去摸牌

输入

第一行一个数T 代表测试组数

下面N行每行一个数N 意义如题所示

输出

输出T行

若先手赢 输出llfnb

否则输出sysnb

样例输入
代码语言:javascript
复制
4
1
3
4
12
样例输出
代码语言:javascript
复制
llfnb
sysnb
llfnb
sysnb
参考程序(我自己打的)
代码语言:javascript
复制
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main(){
    int t,i,ans=1;
    long long l;
    cin>>t;
    while(t--){
        ans=1;
        cin>>l;
            if(l%3==0)
                ans=0;
            if(ans==0)
            cout<<"sysnb"<<endl;
            else
            cout<<"llfnb"<<endl;
        }
            return 0;
    }
题解

根据案例不难清楚当牌的数量为3的倍数时,都是先手输,所以可知,该问题被简化成倍数问题,在比赛中这样的规律可能不易发觉,要认真审题

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年7月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.A:奇数和数组
    • 题目描述
    • 1.A:奇数和数组
      • 题目描述
        • 输入
          • 输出
            • 样例输入
              • 样例输出
                • 参考程序
                • 2.B:暗箱操作
                  • 题目描述
                    • 输入
                      • 输出
                        • 样例输入
                          • 样例输出
                            • 提示
                              • 参考程序
                              • 3.C:简简单单A+B
                                • 题目描述
                                  • 输入
                                    • 输出
                                      • 样例输入
                                        • 样例输出
                                          • 参考程序
                                          • 4.D:淘淘的暗号
                                            • 题目描述
                                              • 输入
                                                • 输出
                                                  • 样例输入
                                                    • 样例输出
                                                      • 参考程序
                                                      • 5.E:淘淘的序列
                                                        • 题目描述
                                                          • 输入
                                                            • 输出
                                                              • 样例输入
                                                                • 样例输出
                                                                  • 参考程序
                                                                  • 6.F:打牌
                                                                    • 题目描述
                                                                      • 输入
                                                                        • 输出
                                                                          • 样例输入
                                                                            • 样例输出
                                                                              • 参考程序(我自己打的)
                                                                                • 题解
                                                                                领券
                                                                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档