【7.24校内交流赛】T1&T2
T1:

一个脑洞很大的题,将输入的所有数异或起来输出就好了;
(话说我为什么这么喜欢用异或啊)
#include<bits/stdc++.h>
using namespace std;
inline int read(){
int ans=;
char last=' ',ch=getchar();
while(ch>''||ch<'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=(ans<<)+(ans<<)+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
}
int n,c;
int ans;
int main(){
n=read();
for(int i=;i<=n;i++){
c=read();
ans^=c;
}
printf("%d",ans);
return ;
}
T2:

结论题:当某个字符串长度恰巧为3^k+1时,从它往下的第3^k+1行恰好只决定于这个字符串的左右两个端点的值;
#include<bits/stdc++.h>
using namespace std;
inline int read() {
int ans=;
char last=' ',ch=getchar();
while(ch>''||ch<'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=(ans<<)+(ans<<)+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
}
int n,l;
char a[];
int three[]= {,,,,,,,,,,,,,,};
int main() {
n=read();
scanf("%s",a+);
int len=strlen(a+);
while(len>) {
for(int i=; i>=; i--) if(three[i]<=len) {
l=three[i];
break;
}
for(int i=; i<=len-l+; i++) {
if(a[i]==a[i+l-]) continue;
if(a[i]=='B'&&a[i+l-]=='G') {
a[i]='R';
continue;
}
if(a[i]=='B'&&a[i+l-]=='R') {
a[i]='G';
continue;
}
if(a[i]=='G'&&a[i+l-]=='B') {
a[i]='R';
continue;
}
if(a[i]=='G'&&a[i+l-]=='R') {
a[i]='B';
continue;
}
if(a[i]=='R'&&a[i+l-]=='B') {
a[i]='G';
continue;
}
if(a[i]=='R'&&a[i+l-]=='G') {
a[i]='B';
continue;
}
}
len=len-l+;
}
printf("%c",a[]);
}
然后还有一个暴力骗分的方法,只能得到30pts,但在找不出规律时也不失为一种策略(当然tle的部分你可以随便输出‘R’,‘G’,‘B’中的任意一个,应该也可以骗到不少分);
#include<bits/stdc++.h>
using namespace std;
inline int read() {
int ans=;
char last=' ',ch=getchar();
while(ch>''||ch<'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=(ans<<)+(ans<<)+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
}
int n;
char a[];
int main() {
n=read();
scanf("%s",a+);
int len=strlen(a+);
while(len>) {
for(int i=; i<=len-; i++) {
if(a[i]==a[i+]) continue;
if(a[i]=='B'&&a[i+]=='G') {
a[i]='R';
continue;
}
if(a[i]=='B'&&a[i+]=='R') {
a[i]='G';
continue;
}
if(a[i]=='G'&&a[i+]=='B') {
a[i]='R';
continue;
}
if(a[i]=='G'&&a[i+]=='R') {
a[i]='B';
continue;
}
if(a[i]=='R'&&a[i+]=='B') {
a[i]='G';
continue;
}
if(a[i]=='R'&&a[i+]=='G') {
a[i]='B';
continue;
}
}
len-=;
}
if(len==) {
if(a[]==a[]) printf("%c",a[]);
if(a[]=='B'&&a[]=='G') printf("R");
if(a[]=='B'&&a[]=='R') printf("G");
if(a[]=='G'&&a[]=='B') printf("R");
if(a[]=='G'&&a[]=='R') printf("B");
if(a[]=='R'&&a[]=='B') printf("G");
if(a[]=='R'&&a[]=='G') printf("B");
return ;
}
while(len) {
for(int i=; i<=len-; i++) {
if(a[i]==a[i+]) continue;
if(a[i]=='B'&&a[i+]=='G') {
a[i]='R';
continue;
}
if(a[i]=='B'&&a[i+]=='R') {
a[i]='G';
continue;
}
if(a[i]=='G'&&a[i+]=='B') {
a[i]='R';
continue;
}
if(a[i]=='G'&&a[i+]=='R') {
a[i]='B';
continue;
}
if(a[i]=='R'&&a[i+]=='B') {
a[i]='G';
continue;
}
if(a[i]=='R'&&a[i+]=='G') {
a[i]='B';
continue;
}
}
len--;
}
printf("%c",a[]);
return ;
}
暴力 Code
【7.24校内交流赛】T1&T2的更多相关文章
- 【7.24校内交流赛】T3【qbxt】复读警告
数据范围:N,key<=1000; 首先看题目背景,显然不是DP就是图论,但是这显然不是个图论,因此这就是个DP: 接下来考虑怎么DP 我们定义dp[i][j]表示现在dp到了第i个数,当前i个 ...
- [3.24校内训练赛by hzwer]
来自FallDream的博客,未经允许,请勿转载,谢谢. ----------------------------------------------------------------------- ...
- 2018.10.17校内模拟赛:T2神光
题面:pdf 首先排序,二分,然后怎么判定是否可行. 最简单的思路是,dp[i][j][k],到第i个,用了j次红光,k次绿光,前i个点都选上了,是否可行.然后转移就行. 然后考试的时候就想到这了,往 ...
- 【6.24校内test】T1 江城唱晚
[题目背景] 墙角那株海棠,是你种下的思念. 生死不能忘,高烛照容颜. 一曲江城唱晚,重忆当年坐灯前, 青衫中绣着你留下的线. ——银临<江城唱晚> [问题描述] 扶苏是个喜欢一边听古风歌 ...
- 【2019.7.24 NOIP模拟赛 T1】道路建设(road)(水题)
原题与此题 原题是一道神仙不可做题,两者区别在于,原题不能有重边和自环. 然而,这题可以有重边... 于是这题就变成了一道大水题. 此题的解法 考虑如何构造. 对于\(n\le10^4\)的情况: 对 ...
- Action<T1, T2>委托
封装包含两个参数的方法委托,没有返回值. 语法 public delegate void Action<in T1, in T2>( T1 arg1, T2 arg2 ) 类型参数 in ...
- 青岛理工大学第五届ACM交流赛 部分题解
A:后缀维护si*pi的最小值,查询的时候二分,判断后缀和当前两个部分就行. #include <bits/stdc++.h> using namespace std; typedef l ...
- DateTime.Compare(t1,t2)比較两个日期大小
DateTime.Compare(t1,t2)比較两个日期大小,排前面的小,排在后面的大,比方:2011-2-1就小于2012-3-2返回值小于零: t1 小于 t2. 返回值等于零 : t1 等于 ...
- 使用Func<T1, T2, TResult>
使用Func<T1, T2, TResult> 委托返回匿名对象 Func<T1, T2, TResult> 委托 封装一个具有两个参数并返回 TResult 参数指定的类 ...
随机推荐
- jQuery、JS读取xml文件里的内容(JS先通过document.implementation.createDocument方法将xml转换成document对象,jQuery将读取到的xml转成table)
xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...
- ES6---new Promise()讲解(尤其注意里面的参数resolve、reject)
直接打印出来看看吧,console.dir(Promise). 这么一看就明白了,Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.cat ...
- 用java imageio调整图片DPI,例如从96调整为300
因项目需求把图片的DPI值提升到300,否则OCR识别产生错乱:直接上源码:1.图片处理接口: package util.image.dpi; import java.awt.image.Buffer ...
- 洛谷P1105 普及- 生日
标签:模拟,字符串,排序(快排) 这道题可以巧妙地运用结构体中记录在数组中的位置,来对sort做点手脚 题意本身就是记录一些人,他们出生日的日期,然后输出从小到大的名字.如果是同一天,则输出在输入序列 ...
- ef 分页
public List<TEntity> FindList(Expression<Func<TEntity, bool>> predicate, Paginatio ...
- Mysql包的下载
官方下载地址: https://dev.mysql.com/downloads/mysql/5.5.html#downloads mysql的下载界面 二进制的包 通用的RPM包 源码包
- docker-compose安装xxl-job
docker能安装的docker-compose肯定就能安装,锻炼一下写yml的能力. 后面再具体写实际中的应用 [root@localhost mysql]# cat docker-compose. ...
- HBase调优案例(三)——Spark访问HBase慢
负载信息:RegionServer:3个 Region:5400多个 现象:在使用Spark对HBase进行scan操作时发现有些task执行比较慢 原因分析:查看Spark应用的executor日志 ...
- 利用pymysql同时修改两张表的数据
使用pymysql操作数据库中相关联的两张表需求:两张表中分别有一个字段是json格式,需要往json中再插入一个属性值’container_cloud’=’fasle’. import pymysq ...
- 【Spark机器学习速成宝典】基础篇03数据读取与保存(Python版)
目录 保存为文本文件:saveAsTextFile 保存为json:saveAsTextFile 保存为SequenceFile:saveAsSequenceFile 读取hive 保存为文本文件:s ...