ICPC训练周赛 Benelux Algorithm Programming Contest 2019
D. Wildest Dreams
这道题的意思是Ayna和Arup两人会同时在车上一段时间,在Ayna在的时候,必须单曲循环Ayna喜欢的歌,偶数段Ayna下车,若此时已经放了她喜欢的那首歌,就要将它放完,然后按照顺序播放其他的歌,输出一共播放了Ayna喜欢的歌多少分钟。
分情况考虑,加起来总和就是一共播放的时间。
做题思路:
一:奇数段的时间总和;
二:判断奇数段的时间Ayna喜欢的歌是否恰好播放完:
(1)若恰好播放完,对其后的偶数段不做处理
(2)若否,判断偶数段时间是否大于此歌未播放部分的时间:
a.若小于等于,直接加上偶数时间段,并将该偶数段归零
b.若大于,将偶数时间段减去此歌未播放部分的时间
三:将处理过的偶数段的时间进行计算,一共循环列表几次,判断是否恰好循环整列表
(1)是,总和只加上循环次数乘以这首歌单曲播放完毕的时间
(2)否,判断剩余时间长度是否包含Ayna喜欢的歌,若包含,总和加上循环次数乘以这首歌单曲播放完毕的时间+播放这首歌的时间
AC代码:
#include<cstdio>
#include<algorithm>
#include<iostream>
#include <cstring>
using namespace std;
int main()
{
int cd,i;
cin>>cd;
for(int k=1;k<=cd;k++)
{ int sum2=0;
cout<<"CD #"<<k<<":"<<endl;
int cds,f;
int a[25];
cin>>cds>>f;
for(i=0;i<cds;i++){
cin>>a[i];
sum2+=a[i];
}
int n;
cin>>n;
int sum=0;
cin>>m;
int b[25];
for(i=0;i<m;i++){
cin>>b[i];
}
for(i=0;i<m;i++){
if(i%2==0){
sum+=b[i];
}
if(i%2==1){
int sheng=b[i-1]%a[f-1];
if(sheng!=0){
b[i]-=a[f-1]-sheng;
if(b[i]>0){
sum+=a[f-1]-sheng;
}else{
sum+=b[i]+a[f-1]-sheng;
b[i]=0;
}
}
sheng=b[i]/sum2;
sum+=sheng*a[f-1];
sheng=b[i]%sum2;
if(sheng-sum2+a[f-1]>0){
sum+=sheng-sum2+a[f-1];
}
}
}
cout<<sum<<endl;
}
cout<<endl;
}
return 0;
}
B. Phoneme Palindromes
这道题的意思是根据输入的p对认为相等的字母,判断输入的字符串是否为回文。
做题思路:
利用<map>建立两个字母的对应,这样就将所有可以相互替换的字母都统一替换成相同字母,然后判断是否回文即可。
AC代码:
#include<iostream>
#include<cstring>
#include<map>
using namespace std;
int main(){
int n,p,q,i,j,m,x,y;
char a,b,s[100];
cin>>n;
for(i=1;i<=n;i++){
cout<<"Test case #"<<i<<":" <<endl;
cin>>p;
map<char,char>mp;
for(j=0;j<26;j++)
{
char c='a'+j;
mp[c]=c;
}
for(j=0;j<p;j++){
cin>>a>>b;
mp[a]=mp[b]=a;
}
cin>>q;
for(j=0;j<q;j++){
cin>>s;
cout<<s<<" ";
m=strlen(s);
int p=0;
for(x=0;x<m;x++){
s[x]=mp[s[x]];
}
for(x=0;x<=m/2;x++){
if(s[x]!=s[m-x-1]){
p=1;
break;
}
}
if(p==0){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
cout<<endl;
}
return 0;
}
ICPC训练周赛 Benelux Algorithm Programming Contest 2019的更多相关文章
- 2020.3.21--ICPC训练联盟周赛Benelux Algorithm Programming Contest 2019
A Appeal to the Audience 要想使得总和最大,就要使最大值被计算的次数最多.要想某个数被计算的多,就要使得它经过尽量多的节点.于是我们的目标就是找到 k 条从长到短的链,这些链互 ...
- ICPC训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019
I题 求 a 数组平方的前缀和和求 a 数组后缀和,遍历一遍即可 AC代码 #include<iostream>#include<cmath>using namespace s ...
- 03.14 ICPC训练联盟周赛,Preliminaries for Benelux Algorithm Programming Contest 2019
A .Architecture 题意:其实就是想让你找到两行数的最大值,然后比较是否相同,如果相同输出'possible',不同则输出'impossible' 思路:直接遍历寻找最大值,然后比较即可 ...
- 2020.3.14--训练联盟周赛 Preliminaries for Benelux Algorithm Programming Contest 2019
1.A题 题意:给定第一行的值表示m列的最大值,第m行的值表示n行的最大值,问是否会行列冲突 思路:挺简单的,不过我在一开始理解题意上用了些时间,按我的理解是输入两组数组,找出每组最大数,若相等则输出 ...
- Benelux Algorithm Programming Contest 2019
J. Jazz it Up!题目要求,n*m的因子中不能含有平方形式,且题目中已经说明n是一个无平方因子的数, 那么只要m是无平方因子的数,并且n和m没有共同的因子即可.要注意时间复杂度!代码:#in ...
- Preliminaries for Benelux Algorithm Programming Contest 2019
A. Architecture 如果行最大值中的最大值和列最大值中的最大值不同的话,那么一定会产生矛盾,可以手模一个样例看看. 当满足行列最大值相同条件的时候,就可以判定了. 因为其余的地方一定可以构 ...
- Benelux Algorithm Programming Contest 2014 Final(第二场)
B:Button Bashing You recently acquired a new microwave, and noticed that it provides a large number ...
- 2014 Benelux Algorithm Programming Contest (BAPC 14)E
题目链接:https://vjudge.net/contest/187496#problem/E E Excellent Engineers You are working for an agency ...
- 计蒜客 28319.Interesting Integers-类似斐波那契数列-递推思维题 (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 I)
I. Interesting Integers 传送门 应该是叫思维题吧,反正敲一下脑壳才知道自己哪里写错了.要敢于暴力. 这个题的题意就是给你一个数,让你逆推出递推的最开始的两个数(假设一开始的两个 ...
随机推荐
- fsLayuiPlugin配置说明
fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环 ...
- VUE实现Studio管理后台(十三):按钮点选输入控件,input输入框系列
按钮点选输入,是一个非常简单的控件,20分钟就能完成的一个控件.先看效果: 根据以前的设定,通过json数据动态生成这两个按钮,示例中这两个按钮对应的json代码: { label:'标题', val ...
- sf-git机制
为什么要专门写一篇关于sf科技公司的GIT管理机制呢?因为本周经历了两天的学习和考试,刚开始没在意,因为之前公司也用的GIT,所以没怎么看视频,就看了文档,练习考试时候才发现并非以前的那种git流程, ...
- MyBatis 源码分析-项目总览
MyBatis 源码分析-项目总览 1.概述 本文主要大致介绍一下MyBatis的项目结构.引用参考资料<MyBatis技术内幕> 此外,https://mybatis.org/mybat ...
- elasticjob学习二:封装elasticjob-spring-boot-starter
之前已经简单的学习了es-job.但是如果实际应用都如同第一篇进行编写,会有很多重复代码,不方便.这篇主要是进行封装.我还会用一个demo使用下封装好的组件. elasticjob-spring-bo ...
- C++类的详解
目录 一.类成员的访问权限 二.成员变量的命名 三.构造函数 四.析构函数 五.C++程序也很优雅 六.类的其它知识 七.可变参数 八.课后作业 九.版权声明 超女选秀的例子我们玩了很久,为了学习的需 ...
- Hadoop集群搭建(四)~centos6.8关闭防火墙
一.centos关闭防火墙 1,关闭防火墙.service iptables stop 2,关闭防火墙开机自启.chkconfig iptables off 3,查看防火墙状态.service ipt ...
- WPF转换器之值转换器
WPF有两转转换器,一种是值转换器,另一种多值转换器,在开发过程中经常会从数据拉一些数据过来,比如存储性别的时候往往会用0或1,但在界面上肯定是要显示男或女,那么这个时候就可以用上值转换器 编写转换器 ...
- ASP.NET MVC5实现芒果分销后台管理系统(二):Code First快速集成EntityFramework
在上一篇文章中,我们已经搭建了整个芒果后台管理系统整个工程架构,并集成了AutoMapper,日志组件等,接下来我们将使用Entity Framework完善系统的持久化存储部分.这篇EF的构造,我将 ...
- docker系列详解<一>之docker安装
1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 $ ...