40分求助呜呜呜
查看原帖
40分求助呜呜呜
268811
画船听雨楼主2022/1/8 14:24
#include<vector>
#include<queue>
#include<iostream>
using namespace std;

int main() {
	int n, i, j, t, k, temp, h, p, m, num = 0;
	vector<int> a;//记录每艘船的个人信息
	queue<int> b, c, d;
	cin >> n;
	for (i = 0; i < n; i++) {
		cin >> t >> k;
		c.push(t);		//记录船的到达时间
		d.push(k);	//记录每艘船的人数
		num = 0;
		while (t - c.front() >= 86400) {
			
			c.pop();
			p = d.front();
			d.pop();
			a.erase(a.begin(), a.begin() + p - 1);
		}
		if (t - c.front() < 86400) {/*如果时间小于一天的船就把国籍等情况累计起来*/
			for (j = 0; j < k; j++) {//记录每个人的情况
				cin >> temp;
				a.push_back(temp);
			}
			//开始通过遍历法计算国籍
			for (p = 0; p < a.size(); p++) {
				for (m = 0; m < p; m++) {
					if (a[p] == a[m]&&m!=p)
						break;
				}
				if (m == p) {
					num++;
				}
			}
		}
		b.push(num);//b.push(a.size());//b用来记录国籍
	}
	while (!b.empty()) {
		cout << b.front() << endl;
		b.pop();
	}
	return 0;
}
2022/1/8 14:24
加载中...