CCF
blainet
这个作者很懒,什么都没留下…
展开
-
201503-2 数字排序
#include <iostream>#include <map>#include <vector>#include <algorithm>using namespace std;int cmp(const pair<int, int> &p1, const pair<int, int> &p2){ if (p1.second == p2.second) { return p1.first >原创 2021-03-22 12:29:46 · 150 阅读 · 0 评论 -
201503-1 图像旋转
#include <iostream>using namespace std;const int N = 1000;int pic[N + 10][N + 10];int main(int argc, char const *argv[]){ std::ios::sync_with_stdio(false); int n, m; cin >> n >> m; for (int i = 0; i < n; i++) { for (int原创 2021-03-21 18:46:53 · 85 阅读 · 0 评论 -
201509-2 日期计算
#include <iostream>using namespace std;bool isLeapYear(int y){ return y % 400 == 0 || (y % 4 == 0 && y % 100 != 0);}int main(int argc, char const *argv[]){ std::ios::sync_with_stdio(false); int days[2][12] = {{31, 28, 31, 30, 31, 3原创 2021-03-21 18:16:04 · 87 阅读 · 0 评论 -
201509-1 数列分段
#include <iostream>using namespace std;int main(int argc, char const *argv[]){ std::ios::sync_with_stdio(false); int n; cin >> n; int prev; cin >> prev; int ans = 1; int num; while (--n) { cin >> num; if (num == pr原创 2021-03-21 17:38:06 · 65 阅读 · 0 评论 -
201512-2 消除类游戏
#include <iostream>#include <cstring>using namespace std;const int N = 30;struct ChessBoard{ // C++11支持在类定义的时候对属性赋初值(此处只是声明类,只有在类的实例调用构造函数时,才为该实例分配内存) int val = 0; bool deleted = false; // 标记是否可以消除 // ChessBoard() { // x = 0; //原创 2021-03-20 20:55:42 · 101 阅读 · 2 评论 -
201604-2 俄罗斯方块
解题思路对下降的方块确定上下左右界限,在地图中找到下降的起始列和结束列(和下降块匹配),遍历地图map,直到当前的位置的值和下降块该处的值相与,如果=1,说明找到了第一个可能是界限的行,然后从当前行进行遍历,遍历的方法是:假如下降块为:0 1 1 00 0 1 00 0 1 00 0 0 0分离之后的下降块为:1 10 10 1即只保留包含整个下降块的矩阵,然后用该矩阵去遍历分离出的map先从地图map中确认起始的列:n-1+left_boundary,结束列:n-1+right_b原创 2021-03-19 21:30:26 · 280 阅读 · 1 评论 -
201604-1 折点计数
#include <iostream>using namespace std;const int N = 1000;int a[N + 10]; // sales_volume// 所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数int main(int argc, char const *argv[]) { std::ios::sync_with_stdio(false); int n; cin >> n; for (in原创 2021-03-18 16:10:26 · 78 阅读 · 0 评论 -
201609-2 火车购票【模拟】
#include <iostream>#include <cstring>using namespace std;int left_seat[21]; // 共20排,100个座位int row_start[21]; // 记录每次访问该排时的起点位置int main(){ std::ios::sync_with_stdio(false); int n; cin >> n; for (int i = 1; i <= 20; i++) {原创 2021-03-18 15:38:51 · 179 阅读 · 1 评论 -
201409-1 相邻数对
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() { int n; cin >> n; vector<int> v; for (int i = 0; i < n; ++i) { int num; cin >> num; v.push_back(num); } sort(v.原创 2021-03-16 22:29:57 · 74 阅读 · 0 评论 -
201412-1 门禁系统
#include <iostream>#include <map>using namespace std;int main() { int n; cin >> n; map<int, int> rc; // reader count for (int i = 1; i <= n; ++i) { int r; // reader cin >> r; cout << ++rc[r] <<原创 2021-03-16 22:23:33 · 132 阅读 · 0 评论 -
201409-2 画图
memset包含在cstring头文件中,否者编译错误#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 100;bool flag[N + 10][N + 10];struct Rectangle { int x1, y1, x2, y2; int getNum() { return (x2 - x1) * (y2 .原创 2021-03-16 21:28:57 · 81 阅读 · 0 评论 -
201403-2 窗口
没有考虑到剩余的窗口的层次顺序不变,得分90#include <iostream>#include <deque>#include <algorithm>using namespace std;const int N = 10;deque<int> pr; // Possible regionstruct Window { int x1, y1, x2, y2; bool top; // top-floor} w[N + 10];.原创 2021-03-16 00:15:24 · 77 阅读 · 0 评论 -
201403-1 相反数
#include <iostream>#include <algorithm>using namespace std;const int N = 500;int a[N + 10];int main() { int n; cin >> n; // 非零且各不相同 for (int i = 0; i < n; ++i) { cin >> a[i]; if (a[i] < 0) { a[i] = -a[i];原创 2021-03-15 20:54:46 · 61 阅读 · 0 评论 -
201312-2 ISBN号码
#include <iostream>#include <string>using namespace std;// 余数:reminderchar rem[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'X'};int main() { string ISBN; cin >> ISBN; int sum = 0; int L = ISBN.size(); // 13 // 0-6原创 2021-03-15 20:35:57 · 84 阅读 · 0 评论 -
201609-1 最大波动
/********************************************************************* 程序名:201609-1 最大波动 版权: 作者: 日期: 2021-03-13 22:27 说明: 对于所有评测用例,2 ≤ n ≤ 1000。股票每一天的价格为1到10000之间的整数*********************************************************************/原创 2021-03-13 22:48:26 · 68 阅读 · 0 评论 -
201612-2 工资计算
#include <iostream>#include <cstdio>using namespace std;const int T = 100000;int getTax(int s) { int t = 0; if (s <= 3500) { t = 0; } else { int a = s - 3500; if (a < 1500) { t = a * 0.03; } else if (a < 4500) {原创 2021-03-13 01:14:44 · 159 阅读 · 0 评论 -
201612-1 中间数
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() { int n; cin >> n; vector<int> a; while (n--) { int t; cin >> t; a.push_back(t); } sort(a.begin(), a.end()); int c原创 2021-03-13 00:02:06 · 105 阅读 · 0 评论 -
201703-1 分蛋糕
方案1#include <iostream>#include <cstdio>using namespace std;const int N1 = 1000;const int N2 = 10000;int a[N1 + 10];int main() { int n, k; scanf("%d%d", &n, &k); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); .原创 2021-03-11 17:53:09 · 86 阅读 · 0 评论 -
201709-2 公共钥匙盒【模拟+优先队列】
优先队列(priority_queue)STL中各容器头文件和所属概念容器名中文名头文件所属概念vector向量<vector>随机访问容器,顺序容器deque双端队列<queue>随机访问容器,顺序容器list列表<list>可逆容器,顺序容器set集合<set>可逆容器,顺序容器map映射<map>可逆容器,顺序容器multiset多重集合<set原创 2021-03-10 23:13:37 · 177 阅读 · 0 评论 -
201712-2 游戏(模拟)
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main() {// freopen("in.txt", "r", stdin); int n, k; cin >> n >> k; vector<int> kids; for (int i = 1; i <= n; i++) { kids.pus原创 2021-03-10 19:40:44 · 96 阅读 · 0 评论 -
201712-2 游戏(队列实现)
队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。#include <iostream>#include <queue> // 队尾删除元素,队头插入元素using namespace std;int main() { int n, k; cin >> n &g原创 2021-03-10 19:02:40 · 108 阅读 · 0 评论 -
201709-1 打酱油
/********************************************************************* 程序名: 201709-1 打酱油 版权: 作者: 日期: 2021-03-10 16:08 说明:问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,原创 2021-03-10 16:26:21 · 63 阅读 · 0 评论 -
201712-1 最小差值
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int N1 = 1000;const int N2 = 1000;int a[N1 + 10];int main() { memset(a, 0, sizeof(a)); int n; sc原创 2021-03-09 17:57:09 · 55 阅读 · 0 评论 -
201803-2 碰撞的小球
#include <iostream>#include <algorithm>using namespace std;const int N = 100;class Ball { public: int id; // 标记 int pos; int v; // velocity} b[N + 10];bool cmp_pos(Ball b1, Ball b2) { return b1.pos < b2.pos;}bool cmp_i原创 2021-03-08 22:53:05 · 146 阅读 · 0 评论 -
201803-1 跳一跳
#include <stdio.h>int main(void) { int n, p, t, cnt = 1; int ans = 0; do { scanf("%d", &p); if (p == 1) { ans++; cnt = 1; } else if (p == 2) { ans += 2 * cnt++; } } while (p != 0); printf("%d\n", ans); return 0;}原创 2021-03-08 19:42:18 · 73 阅读 · 0 评论 -
201809-1 卖菜
#include <cstdio>#include <cstring>const int N = 1000;int p[N + 10];int main() { memset(p, 0, sizeof(p)); int n, i; scanf("%d", &n); for (i = 1; i <= n; i++) { scanf("%d", &p[i]); } printf("%d ", (p[1] + p[2]) / 2); f原创 2021-03-07 22:38:47 · 79 阅读 · 0 评论 -
201812-1 小明上学
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 100;pair<int, int> p[N + 10];int main() {// freopen("in.txt", "r", stdin); int R, Y, B; scanf("%d%d%d", &R, &Y, &B); i原创 2021-03-06 18:25:26 · 71 阅读 · 0 评论 -
201903-2 二十四点数
#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <algorithm>#include <stack>#include <map>// 嫌弃太长,直接使用// #include <bits/stdc++.h>using namespace std;stack<int>原创 2021-03-05 22:02:30 · 118 阅读 · 0 评论 -
201903-1 小中大
#include <iostream>#include <cstdio>#include <algorithm>#include <vector>using namespace std;int main(int argc, char const *argv[]) {// freopen("in.txt", "r", stdin); int n; scanf("%d", &n); vector<int> v; for原创 2021-03-05 17:44:07 · 63 阅读 · 0 评论 -
201909-2 小明种苹果(续)C++(100分)
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>using namespace std;const int N = 1000;int at[N + 10]; // array tempint main() {// freopen("in.txt", "r", stdin); memset(原创 2021-03-04 23:09:49 · 136 阅读 · 1 评论