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


题目意思:给你n个数,让你从n个数中找两个数,使得剩余的n-2个数皆是这两个数的因子。
解题思路:我们知道最大的那个数必然是其中的一个解,这样我们便已经确定了一个答案了,再利用这个最大数对剩余的数取模运算,不能够整除的必然是另外的一个解了。同时如果因为因子具有唯一性,如果出现了两个相同的数,那么必然有一个是因子,一个是原解。
#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的更多相关文章

  1. CF刷刷水题找自信 2

    CF 1114A  Got Any Grapes(葡萄)? 题目意思:给三个人分葡萄,三个人对葡萄的颜色有一些要求,问所准备的三种颜色的葡萄能否满足三人的要求. 解题意思:直接按条件判断即可. #in ...

  2. 【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)

    BZOJ初级水题列表——献给那些想要进军BZOJ的OIers 代码长度解释一切! 注:以下代码描述均为C++ RunID User Problem Result Memory Time Code_Le ...

  3. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

  4. 恶补一下DP+背包专题(刷刷水题)L2

    开心的金明 题目大意 就是求一定背包容量的最大值 思路 想必大家都知道,一看到这种题目,就会想起01背包 虽然特别简单但是还是讲一下吧 状态设置 由于这题差不多是一个01背包的版子题,那么我们就只需要 ...

  5. UESTCOJ-BiliBili, ACFun… And More!(水题)

    BiliBili, ACFun… And More! Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Ja ...

  6. 水题:CF16C-Monitor

    Monitor 题目描述 Reca company makes monitors, the most popular of their models is AB999 with the screen ...

  7. World Finals 2017 (水题题解)

    看大佬做2017-WF,我这种菜鸡,只能刷刷水题,勉强维持生活. 赛后补补水题. 题目pdf链接,中文的,tls翻译的,链接在这里 个人喜欢在vjudge上面刷题. E Need for Speed ...

  8. 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas

    题目传送门 /* 很简单的水题,晚上累了,刷刷水题开心一下:) */ #include <bits/stdc++.h> using namespace std; ][] = {" ...

  9. 做了一道cf水题

    被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...

随机推荐

  1. webpack4.26的详细配置,包含babel, eslint, postcss, 及各种所需loader,内含大量注释

    github地址:https://github.com/qianxiaoning/demo-webpack4.26 内含详尽注释 欢迎大家star或者fork呀~ 目录结构: completeDemo ...

  2. Ajax中异步与同步的区别

    同步可以解决,只有前一个请求结束后,当前请求才会发起.

  3. Android开发 使用HBuilder的缓存方法

    /* * 中间就可以进行封装操作 * mui就代表mui,owner就代表window的app属性,就是一个传值 */ (function(mui,owner) { /** * 获取当前状态 **/ ...

  4. 九九乘法表,全js编写,放入table表格带入页面渲染出来

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 微信小程序实现转义换行符

    在html中可以直接使用<br />换行,但是小程序wxml中使用<br />无效,可以换成\n Page({ data: { title: '至少5个字\n请多说些感受吧' ...

  6. 自定义udf添加一列

    //创建得分窗口字典 var dict= new mutable.HashMap[Double, Int]() ){ dict.put(result_Score(i),i) } //自定义Udf函数 ...

  7. Egret 菜鸟级使用手册--第二天

    ################新的一天,我还是大佬 今天加载个英雄,先在GameScene里搞一个英雄出来,然后再创建一个Hreo类 接下来又一个新的API egret.TouchEvent.TOU ...

  8. 20155320信息安全系统设计第二周课堂考试总结及myod的实现

    20155320 信息安全系统设计第二周课堂考试总结及myod的实现 第二周测试一二已在课上提交 第二周测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main ...

  9. 20155323 2016-2017-2 《Java程序设计》第4周学习总结

    20155323 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承的目的:继承是为了多态,能够采用父类引用指向子类对象,这样可以让代码更灵活.继承之后可以 ...

  10. 20155334 2016-2017-2 《Java程序设计》第二周学习总结

    20155334 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 java中的基本类型 整数:有short.int.long三种 字节:byte 字符:cha ...