include include using namespace std; int main() { int T,k; int n1,b,t,n2; cin>>T>>k; for(int i=0;i<k;i++){ cin>>n1>>b>>t>>n2; if(t>T){ cout<<"Not enough tokens. Total = "<<T<<".
题目链接: 题目链接:https://www.acwing.com/problem/content/4272/ 此题目同pat 甲级1157 难度评价:易 解题思路:给定两个字符串集合求交集,如果有交集,则统计到来的校友人数,并且如果发现yyyymmdd较小的(则是生日较大的)就更新当前的最大年龄的校友; 如果没有交集,并且发现发现yyyymmdd较小
易错点 审题!题干中指出输入不包含空格,但没有对输出做出更多说明,因此不能想当然认为输出不包含空格,必须考虑输出包含空格的情况! 代码 #include <iostream> #include <cstdio> #include <string> using namespace std; int main() { string password; int n; string s; int cnt=
A. Round Down the Price AC代码 #include <bits/stdc++.h> #define IOS \ std::ios::sync_with_stdio(false); \ std::cin.tie(0); \ std::cout.tie(0); using PII = std::pair<int, int>; using ll =
咕咕咕咕。 E. Split Into Two Sets 题意 有\(n\)张牌,每张牌上写有两个数字,问是否能将牌分成两个集合,使得单个集合中的牌上的数字构成的集合没有重复元素。 其中\(2 \le n \le 2 \times{10}^5\)。 思路 转化成图论问题,令每个数字对应一个节点,问题从将牌分成两个集合转换成将数
1.问题描述 返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。 如果没有和至少为 K 的非空子数组,返回 -1 。 示例 1: 输入:A = [1], K = 1 输出:1 示例 2: 输入:A = [1,2], K = 4 输出:-1 示例 3: 输入:A = [2,-1,2], K = 3 输出:3 说明: 1 <= A.length <= 50000 -10
C.Schedule Management(二分) Problem 现在有\(m\)个任务和\(n\)个工人,擅长第\(i\)个任务的人是\(a_i\)。存在擅长该任务的人做该任务花费时间为\(1\)小时,不擅长该任务的人做该任务需要花费\(2\)个小时,每个时刻一个人只能做一个任务,工人可以并行工作,问最少花费多少时间可以把任务
链接:https://ac.nowcoder.com/acm/problem/14701来源:牛客网 题目描述 给定两个长度为n的整数列A和B,每次你可以从A数列的左端或右端取走一个数。假设第i次取走的数为ax,则第i次取走的数的价值vi=bi⋅ax,现在希望你求出∑vi的最大值。 输入描述: 第一行一
错误点 须考虑题干中提到“若用户选择的序号不存在”,可能会大于上限,也可能会小于等于0的情况 注意点 在一串字符中选取特定字符作为输入 代码 #include <iostream> #include <cstdio> #include <string> using namespace std; string a[11]; string b[11]; string c[11]; int mai
这个题好像也没有什么好说的,就是一个数列,包含一些陷阱,造成的伤害是那个位置上的数字,你有k次可以跳过去的机会,但跳完之后后面的陷阱伤害就会+1 一开始很好像,我们可以总结一下每个跳过操作对后面造成的影响,首先减去的伤害是a[i], 但是又会增加n - i点其他伤害,所以就按照实际减去的伤
<c++ primer plus>第六版 目录5 循环和关系表达式5.1 for循环5.2 while循环5.3 do-while循环5.4 基于范围的for循环(c++11)5.5 循环和文本输入5.5.1 使用原始的cin进行输入5.5.2 使用cin.get(char)5.5.3 文件尾条件5.6 嵌套循环和二维数组 5 循环和关系表达式 5.1 for循环 语法 fo
题意:给定一个数组b,定义\(b_i=\lfloor \frac {i}{a_i}\rfloor\) ,还原这个a数组。 分析: 由于是下取整,所以对于每个\(a_i\) 我们都能得到\(a_i\)的范围 对于\(b_i \ne 0\) ,$ {i \over b_i + 1} \le a_i \lt {i \over b_i}$ 对于\(b_i = 0\) \(i + 1 \le a_i \lt n\) 所以问题可以转
一排里的位置交换 题目描述 体育课上,老师把一排里的两个身高不同的同学的位置交换了一下以方便安排分组训练。你能编程模拟这个过程吗? 输入 第一行是自然数n(n小于100),表示有n个数,第二行是n个表示身高的数据,第三行是要交换的两个同学的序号(按左起从1开始依次排序)。 输出 交换位
https://ac.nowcoder.com/acm/problem/23050 最大公约数的辗转相除法 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long int gcd(int a,int b) { return b ? gcd(b,a%b) : a; } signed main() { ios::sync_with_stdio(false);
题目链接 A. Grass Field 水 B. Permutation 题意 回想一下长度的排列n是一个数组,其中每个元素来自1至n恰好发生一次。对于一个固定的正整数d,让我们定义排列的值为长度p[n]中 pi⋅ d=pi+1 的数量.例如,如果d= 3和p = [ 5 , 2 , 6 , 7 , 1 , 3 , 4 ], 那么这种排列的值是2, 因为p
题目链接 题目 题目描述 有一个长度为n的数组,值为 a[i], 牛牛想找到数组中第 k 小的数。比如 1 2 2 3 4 6 中,第 3 小的数就是2. 牛牛觉得这个游戏太简单了,想加一点难度,现在牛牛有 m 个操作,每个操作有两种类型。 1 x 1 代表操作一,给数组中加一个元素 x 。(0 ≤ x ≤ 1e9) 2 2 代
代码 #include <iostream>#include <cstdio>#include <string>#include <map>using namespace std;int main(){ string a; int b,c; int m,n; int d; map<int,string> mp1; map<int,int> mp2; cin>>n; fo
牛客小白月赛53 第二次打妞妞月赛 三题下班,呜呜呜我好菜orz https://ac.nowcoder.com/acm/contest/11230 A. Raining 按照题意模拟即可 #include <bits/stdc++.h> using namespace std; int main () { int a, b, c, d, x; cin >> a >> b >> c >> d >> x; a
学校拉的一些比赛题目 A. Drazil and Date 链接Problem - 515A - Codeforces 题意:给定一个点的坐标和步数\(s\),求从点\((0, 0)\)到这个点能不能恰好在\(s\)步完成 分析:这个蛮简单的,因为可以走回头路,也就是说每2步可以被“浪费”,就是要注意点坐标的值可以是负数。所以,用总步数减去
900——1000 5道 A. Anti Light's Cell Guessing 题意大概是在一个行列确定的坐标系里,最少用几个点可以唯一确定一个点 思路就是判断行列的最小值是否为1,是1的话,最多一个点就可以确定,否则两个点即可。 注意:1*1的方格需要的点是0,故需要特判 解决代码: void solve() { int n, m; ci
【kuangbin】专题四 最短路 https://www.acwing.com/activity/content/90/ (没做的那道是网络流) 先把代码放这...吃完饭回来再总结 1. 青蛙 #include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; typedef pair<double, int> pdi; //距离 编号 const int
链接:https://ac.nowcoder.com/acm/contest/24213/1023来源:牛客网 题目描述 小明是个大厨,早上起来他开始一天的工作。他所在的餐厅每天早上都会买好 nnn 件食材(每种食材的数量可以视为无限),小明从到达餐厅开始就连续工作 TTT 时间。每道菜肴的制作需
https://www.luogu.com.cn/problem/P1328 模拟橙色题 代码: #include <bits/stdc++.h> using namespace std; const int MAXN = 200 + 10; int n, na, nb, a[MAXN], b[MAXN], cnta, cntb; int vs[5][5] = {{0,0,1,1,0},{1,0,0,1,0},{0,1,0,0,1},{0,0,1,0,1},{1,1,0,0,0}};
A.Three Indices 题目描述: 原题面 题目分析: 这题就是要让我们找到三个数,要求中间的数最大。那么我们就考虑枚举中间的数是哪个,然后为了尽可能的使这个条件成立,我们显然就是要选择这个数左边以及右边的最小值,我们就预处理出来左边的最小值是哪个以及右边的最小值是哪个,然后每次判断
思路: 找规律。 实现: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int a[100005]; 4 int main(){ 5 //freopen("in.txt","r",stdin); 6 int t;cin>>t; 7 while(t--){ 8 int n;cin>>n; 9 vecto