首页 > 其他分享 >20241021

20241021

时间:2024-10-21 19:01:41浏览次数:1  
标签:head int scanf d% ++ -- 20241021

今天的模拟赛打的比较舒服。
但是还要早起跑操+早读+升旗就不太好。
去升旗之前做了第一题,简单的模拟,感觉这很符合cspsT1的难度啊,之前的感觉都有点难了。

  • 【贪吃蛇】
    题意:
    思路:直接用桶记录蛇的位置,考虑怎么记录加和减操作,可以考虑用STL,但是直接维护两个指针也可以。
    代码:
#include <iostream>
#include <cstdio>

using namespace std;
const int N = 110;

int n, m, t, q, x, y, op;
int head, tail = 1, ans;
int a[N][N];
bool b[N][N];
bool flag = 0;
char c;
struct Snake { int x, y; } s[N * N];

void work () {
	if(c == 'U') --x;
	if(c == 'D') ++x;
	if(c == 'L') --y;
	if(c == 'R') ++y;
} 

int main () {
	freopen("snake.in", "r", stdin);
	freopen("snake.out", "w", stdout);
	scanf("%d%d%d%d", &n, &m, &t, &q);
	while(t--) {
		scanf("%d%d", &x, &y);
		b[x][y] = 1;
	}
	scanf("%d%d", &x, &y);
	b[x][y] = 1, s[++head] = {x, y};
	while(q--) {
		++ans;
		scanf("%d", &op);
		if(op == 1) {
			scanf("%s", &c);
			x = s[head].x, y = s[head].y;
			work();
			if(b[x][y] || x < 1 || x > n || y < 1 || y > m) {
				flag = 1; break;
			}
			s[++head] = {x, y}, b[x][y] = 1;
		} else {
			x = s[tail].x, y = s[tail].y;
			b[x][y] = 0;
			++tail;
		}
	}
	if(flag) printf("%d\n", ans);
	else puts("-1");
	return 0;
}
  • 【分糖果】
    题意:参考 皇后游戏
    思路:考场上没推出来具有传递性的,只推出来 $\min(a_i, b_j) \leq \min(a_j, b_i) $,然后就打上去交了,没想到过了,应该是数据比较水吧。具体思路可以直接看题解,因为markdown太长了我不想打就不写了。
    代码:
#include <iostream>
#include <algorithm>

using namespace std;
typedef long long ll;
const int N = 2e4 + 10;

int T, n;
ll c[N];
struct zx {
	int x, y, d;
	bool operator < (zx a) const {
		if(a.d != d) return d < a.d;
		if(d <= 0) return x < a.x;
		else return y > a.y;
	}
} a[N];

int main() {
	cin >> T;
	while(T--) {
		cin >> n;
		for(int i = 1; i <= n; ++i) {
			cin >> a[i].x >> a[i].y;
			if(a[i].x == a[i].y) a[i].d = 0;
			if(a[i].x < a[i].y) a[i].d = -1;
			else a[i].d = 1;
		}
		sort(a + 1, a + n + 1);
		ll s = 0;
		for(int i = 1; i <= n; ++i) {
			s += a[i].x;
			c[i] = max(s, c[i - 1]) + a[i].y;
		}
		cout << c[n] << endl;
	}
	return 0;
}
  • 【排序】
    题意:

标签:head,int,scanf,d%,++,--,20241021
From: https://www.cnblogs.com/roselu/p/18490027

相关文章

  • 20241021比赛总结
    T1岛屿https://www.gxyzoj.com/d/hzoj/p/4177显然每个点只增加了一条边,最终每个点的度数都为2,所以最终必然是很多个环,连边的过程中,也必然是一些链和一些环由题,蓝同色链的个数和红同色链的个数相等,所以设\(f(a,b)\)为a条红同色链,b条异色链的期望考虑先处理异色链:红红连红蓝为......