Codeforces Round #676 (Div. 2) A - D个人题解(E题待补)
1421A. XORwice
题目链接:Click Here
// Author : RioTian
// Time : 20/10/18
#include <bits/stdc++.h>
#define ms(a, b) memset(a, b, sizeof a)
using namespace std;
typedef long long ll;
ll n, m, _;
void solve() {
cin >> n >> m;
cout << (n ^ m) << endl;
}
int main() {
// freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> _;
while (_--) solve();
}
1421B. Putting Bricks in the Wall
题目链接:Click Here
如果选择S的邻居为1,我们就可以F使为0的邻居,就没有办法从S到F,但这在最坏的情况下需要4个开关,这是不够的。 幸运的是,为了减少到2个开关,只需反过来考虑,使相邻S的正方形变为0,使相邻的正方形变为F 1。必须存在最多具有两个开关的两个正方形的解,并且您不会从S到F,因为被迫选择1(或0),并且无法通过与F相反的邻居。
// Author : RioTian
// Time : 20/10/18
#include <bits/stdc++.h>
#define ms(a, b) memset(a, b, sizeof a)
using namespace std;
typedef long long ll;
ll n, m, _;
char x[210][210];
void solve() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> x[i] + 1;
int a = x[1][2] - '0', b = x[2][1] - '0', c = x[n][n - 1] - '0',
d = x[n - 1][n] - '0';
if (a == b && c == d && a != c)
cout << 0 << endl;
else if (a != b && c != d)
cout << 2 << endl
<< 1 << " " << 2 << endl
<< (a == c ? n - 1 : n) << " " << (a == c ? n : n - 1) << endl;
else if (a != b)
cout << 1 << endl
<< (a == c ? 1 : 2) << ' ' << (a == c ? 2 : 1) << endl;
else if (c != d)
cout << 1 << endl
<< (a == c ? n : n - 1) << ' ' << (a == c ? n - 1 : n) << endl;
else
cout << 2 << endl << 1 << ' ' << 2 << endl << 2 << " " << 1 << endl;
}
int main() {
// freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> _;
while (_--) solve();
}
#python
import sys
input = sys.stdin.readline
I = lambda : list(map(int,input().split()))
t,=I()
for _ in range(t):
n,=I()
l=[input().strip() for i in range(n)]
an=[]
le=[0,0,1,1,1];p=[1,1,0,0,0]
rq=[l[0][1],l[1][0],l[1][1],l[2][0],l[0][2]]
pos=[[1,2],[2,1],[2,2],[3,1],[1,3]]
ct=cp=0;a1=[]
for i in range(5):
if le[i]!=int(rq[i]):
ct+=1
a1.append(pos[i])
for i in range(5):
if p[i]!=int(rq[i]):
cp+=1
an.append(pos[i])
if ct<=cp:
an=a1
print(len(an))
for i in an:
print(*i)
1421C. Palindromifier
题目链接:Click Here
这道题写的挺懵的,一开始都没理解题意
被dalao提醒以后然后发现是构造题,根据题目说的两种方案:
对于任何字符串都可以先 $L ,i = 2 \(,然后\)R,i = 2 $ + \(R, i = 7\)。一定能构造需所需的字符串
// Author : RioTian
// Time : 20/10/18
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
string s;
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> s;
cout << "3\nL 2\nR 2\n";
cout << "R " << 2 * s.size() - 1 << endl;
}
print('3\nL 2\nR 2\nR',len(input())*2-1)
1421D. Hexagons (补)
题目链接:Click Here
// Author : RioTian
// Time : 20/10/18
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int inf = 1e9 + 7;
ll x, y, c1, c2, c3, c4, c5, c6;
ll check(ll ad) {
ll ans = 0;
if (ad > 0)
ans += ad * c1;
else
ans += -ad * c4;
if (x - ad > 0)
ans += (x - ad) * c6;
else
ans += (ad - x) * c3;
if (y - ad > 0)
ans += (y - ad) * c2;
else
ans += (ad - y) * c5;
return ans;
}
void solve() {
cin >> x >> y >> c1 >> c2 >> c3 >> c4 >> c5 >> c6;
ll l = -inf, r = inf;
while (l < r) {
ll mid = l + r >> 1;
if (check(mid) < check(mid + 1))
r = mid;
else
l = mid + 1;
}
cout << min({check(l), check(l + 1), check(l - 1)}) << '\n';
}
int main() {
int t;
cin >> t;
while (t--) solve();
}
1421E. Swedish Heroes (补)
题目链接:Click Here
Codeforces Round #676 (Div. 2) A - D个人题解(E题待补)的更多相关文章
- Codeforces Round #604 (Div. 2) A,B,C【D题待补】
思路:直接暴力判断就OK了 #include<bits/stdc++.h> using namespace std; #define int long long signed main() ...
- Codeforces Round #297 (Div. 2)A. Vitaliy and Pie 水题
Codeforces Round #297 (Div. 2)A. Vitaliy and Pie Time Limit: 2 Sec Memory Limit: 256 MBSubmit: xxx ...
- Codeforces Round #298 (Div. 2) A、B、C题
题目链接:Codeforces Round #298 (Div. 2) A. Exam An exam for n students will take place in a long and nar ...
- Codeforces Round #267 (Div. 2) C. George and Job(DP)补题
Codeforces Round #267 (Div. 2) C. George and Job题目链接请点击~ The new ITone 6 has been released recently ...
- Codeforces Round #676 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1421 A. XORwice 题意 给出两个正整数 \(a.b\),计算 \((a \oplus x) + (b \oplus ...
- Codeforces Round #676 (Div. 2) XORwice、Putting Bricks in the Wall、Palindromifier
题目链接:XORwice 题意:给你两个数a.b.求一个数x,使得((a异或x)+(b异或x))这个值最小,输出最小那个x 题解: 输出(a|b)-(a&b)就行(猜了一手 代码: #incl ...
- Codeforces Round #354 (Div. 2) A. Nicholas and Permutation 水题
A. Nicholas and Permutation 题目连接: http://www.codeforces.com/contest/676/problem/A Description Nichol ...
- Codeforces Round #384 (Div. 2) C. Vladik and fractions 构造题
C. Vladik and fractions 题目链接 http://codeforces.com/contest/743/problem/C 题面 Vladik and Chloe decided ...
- Codeforces Round #384 (Div. 2) A. Vladik and flights 水题
A. Vladik and flights 题目链接 http://codeforces.com/contest/743/problem/A 题面 Vladik is a competitive pr ...
随机推荐
- 我的Python自学之路-003 字符串的知识
'''字符串是以引号或者单引号括起来的任意文本,例如"123","asdfjk",'adfa'引号或者单引号,只是一种表示方法,并不是字符串的一部分如果字符串本 ...
- Linux实战(8):查看文件大小
du -sh *
- 文件存到aws的S3后, 调用getimagesize失败分析
一.问题 将图片在windows下用图片查看器修改后,上传到s3中,调用getimagesize获取图片信息总是返回false,其它图片正常: 代码如下: $fileName = 's3://sdk1 ...
- 2.Buffer详解
- 计算"aabbc"中最多的相同字母数
package Test; import java.util.HashMap; import java.util.Map; public class test3 { /** * 计算"aab ...
- 有没有异常处理翻车过的,绩效还被打了C
絮叨 因为程序异常处理问题,就在前几天龙叔的服务挂了几秒钟. 完了,马上季度末打绩效,竟然在这里翻车了,心如刀绞啊. 虽然没有影响到用户体验,但是找到问题并解决掉问题是工程师日常追求之一. 作为一个优 ...
- 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化
分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...
- spring的aop编程(半自动、全自动)
1.spring的半自动代理(从spring中获取代理对象) (1)spring中的通知类型 spring中aop的通知类型有五种: 前置:在目标方法执行前实施加强 后置:在目标方法执行后实施加强 环 ...
- Leetcode-二分
69. x的平方根 https://leetcode-cn.com/problems/sqrtx/ 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于 ...
- 单例模式,reorder详解,线程安全,双检查锁
单例模式,分为饿汉式单例 和 懒汉式单例. 先把本类对象所需内存在main函数执行前就new出来,这是饿汉式单例. 个人思考: 为什么饿汉式不独霸天下,还有什么必要去研究使用cpp11上支持的双检查锁 ...