60分求助!
查看原帖
60分求助!
351042
kardsOI楼主2022/7/3 20:51

#include <bits/stdc++.h>
using namespace std;
int n, ky;
bool u;
struct peo {
	string name;
	int bg, level;
} a[112], h[2], t;
string st;
string ch[39] = {"00", "HuFa", "HuFa", "ZhangLao", "ZhangLao", "ZhangLao", "ZhangLao", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing"};
int main() {
//	freopen("cxk.txt","r",stdin);
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> t.name >> st >> t.bg >> t.level;
		if (st == "BangZhu") {
			cout << t.name << " " << "BangZhu" << " " << t.level << endl;
		} else if (st == "FuBangZhu") {
			h[u] = t;
			u = !u;
		} else {
			a[++ky] = t;
		}
	}
	cout << h[0].name << " " << "FuBangZhu" << " " << h[0].level << endl;
	cout << h[1].name << " " << "FuBangZhu" << " " << h[1].level << endl;
	for (int i = 1; i <= ky; i++) {
		for (int j = 1; j < ky; j++) {
			if (a[j].bg < a[j + 1].bg) {
				swap(a[j], a[j + 1]);
			}
		}
	}
	if (a[1].level < a[2].level) {
		swap(a[1], a[2]);
	}
	for (int i = 3; i <= 6; i++) {
		for (int j = 3; j < 6; j++) {
			if (a[j].level < a[j + 1].level) {
				swap(a[j], a[j + 1]);
			}
		}
	}
	for (int i = 7; i <= 13; i++) {
		for (int j = 7; j < 13; j++) {
			if (a[j].level < a[j + 1].level) {
				swap(a[j], a[j + 1]);
			}
		}
	}
	for (int i = 14; i <= 38; i++) {
		for (int j = 14; j < 38; j++) {
			if (a[j].level < a[j + 1].level) {
				swap(a[j], a[j + 1]);
			}
		}
	}
	for (int i = 1; i <= min(ky, 38); i++) {
		cout << a[i].name << " " << ch[i] << " " << a[i].level << endl;
	}
	for (int i = 39; i <= ky; i++) {
	for (int j = 39; j < ky; j++) {
	if (a[j].level < a[j + 1].level) 
	{
		swap(a[j], a[j + 1]);
	}
	}
	}
	for (int i = 39; i <= ky; i++) {
		cout << a[i].name << " " << "BangZhong" << " " << a[i].level << endl;
	}
	return 0;
}
2022/7/3 20:51
加载中...