0
点赞
收藏
分享

微信扫一扫

算法刷题记录(DAY 21)

一脸伟人痣 2022-03-15 阅读 39

线性分析器(csp 202006-1)

原题链接

#include<iostream>
using namespace std;
#define NMAX 1003
struct dot {
	int x, y, type;
}D[NMAX];
int n, m;
int main() {
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		int x, y;
		char c;
		cin >> x >> y;
		D[i].x = x, D[i].y = y;
		getchar();
		c = getchar();
		if (c == 'A') D[i].type = 0;
		else if (c == 'B') D[i].type = 1;
		else cout << "WA";
	}

	for (int i = 0; i < m; i++) {
		int b0, b1, b2;
		cin >> b0 >> b1 >> b2;
		int up = -1, down = -1;
		for (int j = 0; j < n; j++) {
			bool res = ((b0 + b1 * D[j].x + b2 * D[j].y) > 0);
			if (res) {
				if (up == -1) up = D[j].type;
				else if (up != D[j].type) goto WA;
			}
			else {
				if (down == -1) down = D[j].type;
				else if (down != D[j].type) goto WA;
			}
		}
		cout << "Yes" << endl;
		continue;
	WA:cout << "No" << endl;
	}
}

稀疏向量(csp 202006-2)

原题链接

#include<iostream>
#include<map>
using namespace std;
int n, a, b;
map<int, int> c;
int main() {
	cin >> n >> a >> b;
	for (int i = 0; i < a; i++) {
		int x, y;
		cin >> x >> y;
		c[x] = y;
	}
	long long res = 0;
	for (int i = 0; i < b; i++) {
		int x, y;
		cin >> x >> y;
		if (c.find(x) != c.end()) res += (long long)y * c[x];
	}
	cout << res;
}

总结

课越来越多了/(ㄒoㄒ)/~~

举报

相关推荐

0 条评论