GYM 101572C(模拟)】的更多相关文章

要点 题意是:以颜色red举例,逆时针找最近的,顺时针找最近的,相减得到val:对三种颜色都做这事然后求和,卖掉最小的,更新,继续. 360度很小所以就像365天一样可以暴力前后扫.每次更新最多6个所以就是模拟题了. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <map> #include <set> us…
题目链接:https://cn.vjudge.net/contest/287775#problem/C 题目大意:给你n个人,然后m条关系,会有k次询问,每一次询问包括两种类型,第一种类型是交换两个人的位置,第二种类型是询问这个人的领导阶层年龄孙是多少. 具体思路:模拟题,我们建立好图之后,通过两个数组来记录当前这个人位置现在是多少.用一个数组是不行的,,举个例子,原来2这个位置变成了4,然后现在4的位置变成了2.如果这个时候要交换2和3,3指向的位置应该是4,而2指向的是3.第一个数组记录现在…
#include<bits/stdc++.h> using namespace std; int n,m; struct node { int id; int slove; int pen; bool operator<(const node &b)const { //如果解决的数量和罚时都一样,就按照序号排序 if(slove==b.slove&&pen==b.pen) return id<b.id; //如果解决的数目不一样,就优先按照数目排序 if(s…
题目链接: http://codeforces.com/gym/100825 题目大意: 栅栏密码.给定N(N<=10),密钥为一个N*N的矩阵,'.'代表空格可以看到,'X'代表被遮挡,还有密文字符串S,长度为N*N 每次将这个矩阵顺时针旋转90°,把矩阵中空格对应的位置按照从上到下从左到右的顺序依次填充上密文字符,求最终这个密文字符能否填满N*N的矩阵,能按顺序输出得到的答案,不能输出"invalid grille" 题目思路: [模拟] 直接模拟即可.旋转的坐标公式很好推.…
题目链接: http://codeforces.com/gym/100851 题目大意: n个序列.每个序列有4个值x,a,b,c,之后按照x=(a*x+b)%c扩展无穷项. 求每个序列各取一个数之后求和不是K的倍数的最大值. (x,a,b,c<=1000,n<=10000,K<=109) 题目思路: [模拟] 先暴力把每个序列能够获得的值都求出来.存下最大的两个%K不相等的值. 接下来先取每个序列最大的值,如果%K不为0则为答案. 否则把其中一个换成次优值.因为前面满足%K不相等所以只…
题目链接: http://codeforces.com/gym/100851 题目大意: 系统里生成一个字符串C,一开始告诉你字符串的长度N(偶数).接着你需要在n+500次内猜出这个字符串是什么. 每次你可以输出一个长度为N的字符串S,系统根据你输出的字符串S和C的匹配数量输入一个数,若为n/2则输入n/2,若为n则输出n,否则输入0. 只要一猜对字符串就要结束程序(即输入的数为n).如果询问次数超过n+500则出错.每次输出完要fflush(stdout). 题目思路: [模拟] 这题真的很…
题目链接: http://codeforces.com/gym/100851 题目大意: N个人,每个人有pi个物品,每个物品价值为0~49.每次从1~n顺序选当前这个人的物品,如果这个物品的价值>=之前所有物品价值和则加上这个物品,否则这个物品舍弃不计算在内. 总共拿出K个物品,如果一个人没物品拿了那么他会拿出价值为50的物品.求最终物品价值和有多少. 题目思路: [模拟] 直接暴力枚举.判断是否超过之前的总和,如果有人拿了50则后面的人肯定都是拿50. // //by coolxxx //#…
题目链接: http://codeforces.com/gym/100851 题目大意: 一个N*N的矩阵A,Ai,j=i+j,Q次操作,每次分两种,R r取出第r行还未被取的所有数,并输出和.C c取出第c列还未被取出的所有数并输出和. 题目思路: [模拟] 首先Ai,j=i+j这个很关键.预处理每一行(=列)的值. 只要记录当前取得时候前面已经取过的所有行数的和.次数,所有列数的和.次数,就能推算出这次取数会少掉多少值. 并记录这一行或这一列被取过没有. // //by coolxxx //…
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11670&courseid=0 题目大意: N条开口朝下的抛物线T = -aR2 + bR + c,求哪条抛物线最高的点最高. 题目思路: [模拟] 直接取x=b/2a带入抛物线计算最高点记录答案. // //by coolxxx //#include<bits/stdc++.h…
C. Palindrome Again !! time limit per test:1 second memory limit per test:64 megabytes input:standard input output:standard output Given string with N characters, your task is to transform it to a palindrome string. It's not as easy as you may think…