CF刷刷水题找自信1
CF 1108A Two distinct points

题目意思:给你两个线段的起点和终点,让你给出两个不同的点,这两点分别处于两个不同的线段之中。
解题思路:题目说如果存在多种可能的点,随意一组答案即可,这样其实我们只需要取最特殊的起点即可。但要注意如果起点相同,那我们需要找一个起点一个终点。
#include<cstdio>
#include<cmath>
#include<cstring>
#define ll long long int
using namespace std;
int main()
{
int t,l1,l2,r1,r2;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d",&l1,&r1,&l2,&r2);
if(l1==l2)
{
printf("%d %d\n",l1,r2);
}
else
{
printf("%d %d\n",l1,l2);
}
}
return ;
}
CF 1180B Divisors(因子) of Two Integers

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ll long long int
using namespace std;
int my_cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,i;
int a[];
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n,my_cmp);
for(i=;i<n;i++)
{
if(a[]%a[i]!=||a[i]==a[i+])
{
printf("%d %d\n",a[],a[i]);
break;
}
}
return ;
}
CF 1108C Nice Garland

题目意思:给了一个长度为n的字符串,且字符串只包含'R','B','G'三种字符,可以改变任何一个字符,使得任意两个相同的字符的距离是3的倍数,输出改动最少的操作且输出改动后的字符串。
解题思路:任意两个相同的字符的距离是3的倍数,换种说法其实就是RGBRGB这样的三个一循环,所以我们就把RGB的所有排列方式列出来然后暴力枚举找到改动最小的操作就好了。这里学到的知识是对3位一循环的处理,使用求余的方法限定范围。
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define maxs 1000010
using namespace std;
int main()
{
char a[][]= {"RGB","RBG","BGR","BRG","GBR","GRB"};///'RGB'的排列组合
char s[maxs];
int i,j,n,counts,ans,flag;
ans=0x3f3f3f3f;
flag=-;
scanf("%d",&n);
getchar();
scanf("%s",s);
for(i=; i<; i++)
{
counts=;
for(j=; j<n; j++)
{
if(a[i][j%]!=s[j])
{
counts++;
}
}
if(counts<ans)
{
ans=counts;
flag=i;
}
}
printf("%d\n",ans);
for(i=; i<n; i++)///注意这里输出的写法
{
printf("%c",a[flag][i%]);
}
printf("\n");
return ;
}
CF 1108D Diverse Garland

题目意思:给了一个长度为n的字符串,且字符串中只包含'G','B','R'这三种字符,可以改变字符,现在要求两个相同的字符不能相连,问最小的改动次数以及改动后的字符串。
解题思路:枚举每一位字符,如果出现了前后字符相同的情况就去判断一下该字符的前一个字符和后一个字符,之后去确定将该字符修改为何种字符。
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define maxs 1000010
using namespace std;
char s[maxs];
int main()
{
int n,i,counts;
scanf("%d",&n);
getchar();
scanf("%s",s);
counts=;
for(i=;i<n-;i++)
{
if(s[i]==s[i+])
{
counts++;
if(s[i]!='R'&&s[i+]!='R')
{
s[i+]='R';
}
else if(s[i]!='G'&&s[i+]!='G')
{
s[i+]='G';
}
else if(s[i]!='B'&&s[i+]!='B')
{
s[i+]='B';
}
}
}
printf("%d\n",counts);
printf("%s\n",s);
return ;
}
CF刷刷水题找自信1的更多相关文章
- CF刷刷水题找自信 2
CF 1114A Got Any Grapes(葡萄)? 题目意思:给三个人分葡萄,三个人对葡萄的颜色有一些要求,问所准备的三种颜色的葡萄能否满足三人的要求. 解题意思:直接按条件判断即可. #in ...
- 【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)
BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Le ...
- HDU 5703 Desert 水题 找规律
已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...
- 恶补一下DP+背包专题(刷刷水题)L2
开心的金明 题目大意 就是求一定背包容量的最大值 思路 想必大家都知道,一看到这种题目,就会想起01背包 虽然特别简单但是还是讲一下吧 状态设置 由于这题差不多是一个01背包的版子题,那么我们就只需要 ...
- UESTCOJ-BiliBili, ACFun… And More!(水题)
BiliBili, ACFun… And More! Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Ja ...
- 水题:CF16C-Monitor
Monitor 题目描述 Reca company makes monitors, the most popular of their models is AB999 with the screen ...
- World Finals 2017 (水题题解)
看大佬做2017-WF,我这种菜鸡,只能刷刷水题,勉强维持生活. 赛后补补水题. 题目pdf链接,中文的,tls翻译的,链接在这里 个人喜欢在vjudge上面刷题. E Need for Speed ...
- 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas
题目传送门 /* 很简单的水题,晚上累了,刷刷水题开心一下:) */ #include <bits/stdc++.h> using namespace std; ][] = {" ...
- 做了一道cf水题
被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...
随机推荐
- py基础__socket编程
目录 Python基础__socket编程 1.计算机网络 2.socke编程 3.socketserver模块 4.思考 Python基础__socket编程 1.计算机网络 1.OSI网络七层模型 ...
- vmware虚拟机下linux centos6.6只有lo,没有eth0网卡、随机分配ip地址,固定ip地址等问题
这个问题卡了我一天多的时间,百度上搜出来的问题五花八门,反而把我给搞糊涂了.最后总算是实践成功了,记录一下配置的过程. 配置网卡和随机分配ip地址 我安装的是basic server版本,用的是NAT ...
- Spring AOP代理模式
代理模式 代理模式是一种设计模式,提供了对目标对象的另外的访问方式.即通过代理访问目标对象. 好处:可以再目标对象实现的基础上,增加额外的功能的操作.扩展目标对象的功能,而不改变现有的功能逻辑. 1. ...
- Delphi调用爷爷类的方法
Delphi通过inherited 可以调用父类的方法,但是没有提供直接调用父类的父类的方法(爷爷类),通过变通的方式实现如下: 假设父类是TFather,爷爷类TGrand,调用爷爷类的Write方 ...
- Hadoop源码学习笔记之NameNode启动场景流程三:FSNamesystem初始化源码剖析
上篇内容分析了http server的启动代码,这篇文章继续从initialize()方法中按执行顺序进行分析.内容还是分为三大块: 一.源码调用关系分析 二.伪代码执行流程 三.代码图解 一.源码调 ...
- 第二篇:shell基础命令(部分)
目录 一.shell命令规则 二.基础命令详解(部分) ls :列出目录内容 mkdir : 创建目录 rmdir :删除目录 touch:新建文件 mv:修改文件(目录)名.移动路径 cp:复制文件 ...
- C语言不定型参数函数定义
我们在C语言中定义一个函数,通常都是需要在函数原型中规定这个函数需要提供什么类型的参数以及需要提供多少个.也就是,你的参数必须明确.但是我们调用函数库中的printf和scanf函数会发现,它们似乎是 ...
- pgsql 变量赋值方法
1.网上一般说的方法如下: :=,赋值,比如user_id := 20; select into 赋值,比如 SELECT INTO myrec * FROM emp WHERE empname = ...
- NodeJs实现简单的爬虫
1.爬虫:爬虫,是一种按照一定的规则,自动地抓取网页信息的程序或者脚本:利用NodeJS实现一个简单的爬虫案例,爬取Boss直聘网站的web前端相关的招聘信息,以广州地区为例: 2.脚本所用到的nod ...
- OO原则汇总
SOLID原则:http://www.cnblogs.com/lanxuezaipiao/archive/2013/06/09/3128665.html https://www.cnblogs.com ...