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. 【ZOJ 2996】(1+x)^n(二项式定理)

    Please calculate the coefficient modulo 2 of x^i in (1+x)^n. Input For each case, there are two inte ...

  2. ABAP术语-Update Module

    Update Module 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/20/1114178.html Part of an update ...

  3. 一条常用的 Sql

    select  *   from  table  where  条件1 .... group  by  字段......  Having  条件1.....Limit 0,10; 1. 根据where ...

  4. 文件句柄W模式

    f1=open('lo',encoding='utf-8',mode='w')f1.write('w4567')print(f1.tell())f1.close() #tell 告诉指针的位置(按字节 ...

  5. actor、reactor与proactor模型:高性能服务器的几种模型概念(转)

    actor模型: 实体之通过消息通讯,各自处理自己的数据,能够实现这并行. 说白了,有点像rpc. skynet是actor模型. reactor模型: 1 向事件分发器注册事件回调 2 事件发生 4 ...

  6. FPGA之CORDIC算法实现_代码实现(下)

    关于FPGA之CORDIC算法的纯逻辑实现,博主洋葱洋葱“https://www.cnblogs.com/cofin/p/9188629.html”以及善良的一休军“https://blog.csdn ...

  7. SAP SM13 V2更新队列批量执行

    SE38输入程序名RSM13005 Function Module 输入MCEX_UPDATE_03 Client 输入800 其他默认 执行

  8. 20155209 2016-2017-2《Java程序设计》课程总结

    20155209 2016-2017-2<Java程序设计>课程总结 预备作业1 刚刚接触Markdown的写法,刚刚接触博客,简单了解娄老师的教学方式. 预备作业2 怎么将学习java像 ...

  9. 20155307 2016-2017第二次《Java程序设计》课堂实践项目

    一.String类的使用 模拟实现Linux下Sort -t -k 2的功能.参考 Sort的实现. 在java.lang包中有String.split()方法,它可以把字符串分割为好几个小的字符串. ...

  10. 20155316 2016-2017-2《Java程序设计》课程总结

    每周作业 链接汇总 预备作业1:学习调查(专业期望 师生关系 代码行数) 预备作业2:"做中学"调查(日常技能 C语言 Java 公文写作) 预备作业3:Linux系统与虚拟机学习 ...