codeforces 727D
一个贪心题,只是在写代码上面比较复杂。
如果一个人只有号码的需求,我们直接分给他就好。
剩下的都是需求他个人的,我们不妨把这些需求都从小号到大号排序
每个人,优先分小号,然后再发大一号,只有有一个人不满足条件,我们就可以直接输出NO
这里用到了一个结构体,因为我要记录ID号,所以我们就没用pair
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <map>
using namespace std;
map<string,int>num;
map<int,string>num1;
map<int, string>answer;
struct data{
int first, second;
int id;
}ans[100000];
bool cmp(data a, data b)
{
return a.first < b.first;
}
int a[10];
int main()
{
int i,j;
//给我们字符串编号
num["S"] = 1;
num["M"] = 2;
num["L"] = 3;
num["XL"] = 4;
num["XXL"] = 5;
num["XXXL"] = 6;
num1[1] = "S";
num1[2] = "M";
num1[3] = "L";
num1[4] = "XL";
num1[5] = "XXL";
num1[6] = "XXXL";
while(~scanf("%d", &a[1]))
{
string