codeforces 985A Chess Placing】的更多相关文章

题意: 移动最少的步数,使得所有的棋子在同一颜色的格子中. 每次一个棋子只能向左或者向右移动一步,不能移到有棋子的格子中. 思路: 枚举全黑和全白的情况. 对于每一个需要移动的棋子,它移动到的位置一定是从1开始第一个可以移动的位置,不交叉移动,保证了步数最小. 代码: #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; ; int v[N],g[N]; int…
Chess Placing time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given a chessboard of size 1 × n. It is guaranteed that n is even. The chessboard is painted like this: "BWBW...BW"…
You are given a chessboard of size 1 × n. It is guaranteed that n is even. The chessboard is painted like this: "BWBW...BW". Some cells of the board are occupied by the chess pieces. Each cell contains no more than one chess piece. It is known t…
893A Chess For Three 思路: 直接模拟即可,第一盘永远是A与B开始 代码: #include <bits/stdc++.h> using namespace std; #define _for(i,a,b) for(int i=(a); i<(b); ++i) #define _rep(i,a,b) for(int i=(a); i<=(b); ++i) int n,num,a[4]; int main() { ios::sync_with_stdio(fals…
链接 [https://codeforces.com/contest/985/problem/A] 题意 给你一个偶数n,输入n/2个数,代表棋子的位置,有一个1*n的棋盘是黑白相间的 问你使得所有棋子在同一种颜色所需移动的最小步数 分析 先对所有棋子的位置排序 贪心枚举两种颜色都算在比较 代码 #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define mp ma…
38B - Chess 思路:懂点象棋的规则就可以,看看哪些点可以放马. 代码: #include<bits/stdc++.h> using namespace std; #define ll long long int main() { ios::sync_with_stdio(false); cin.tie(); string s,t; cin>>s>>t; ]-,y=s[]-'; ]-,b=t[]-'; ; ;i<=;i++) { ;j<=;j++)…
参考:https://blog.csdn.net/zhongyuchen/article/details/77478039 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ; int n; int in[N]; int main() { while (cin>>n) { ;i<*n;i++)…
[链接]:CF985A [题意]:给你n和n/2个数ai,每个ai和奇数.偶数比较距离(注意选了奇数,偶数的距离就不要算了,反之同理),求最小的答案. [代码]: #include <iostream> #include<queue> #include<string.h> #include<bits/stdc++.h> using namespace std; #define N 100010 #define M 2005 const int INF = 0…
题目: 题意:输入一个整数n,接着输入2*n个数字,代表2*n个选手的实力.    实力值大的选手可以赢实力值小的选手,实力值相同则都有可能赢.    叫你把这2*n个选手分成2个有n个选手的队伍.    问你是否有一种分法让一个队伍必定会赢. 分析:就像田忌赛马,我们要让第一个队更多的选手赢,全赢输出YES,否则输出NO. 所以我们只需要让第一个队最弱的选手能胜过第二个队最强的选手,我们就可以保证第一个队一定会赢. 代码: #include <bits\stdc++.h> using nam…
题目链接:https://codeforces.com/contest/985 ’A.Chess Placing 题意:给了一维的一个棋盘,共有n(n必为偶数)个格子.棋盘上是黑白相间的.现在棋盘上有n/2个棋子,让你全部移动到黑色格子或者白色格子,要求步数最少,并输出步数. 题解:由于黑色或者白色都是固定位置,我们对棋子位置排个序,然后全部移动到任意一个颜色,取两个最小步数的最小值就好了. #include<bits/stdc++.h> #define clr(x) memset(x,0,s…