文章

11

粉丝

410

获赞

9

访问

109.0k

头像
1404(注意排序的条件)
P1404 华中科技大学
发布于2020年3月30日 20:10
阅读数 10.4k

举个例子,若满足a则。  AA。。。

   在满足a 的条件下,有满足b,则。BB。。。。

所以,排序的条件得现已  a  为大入口,然后立即判断是否满足b ,接着处理  BB。否  AA

只有这样才能避免逻辑遗漏。

 

#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
typedef struct DD{
	string a;
	int b;
	int c;
	
}DD;
bool cmp(DD x,DD y)
{
	if(x.c==y.c) {
		
	if(x.a==y.a) return x.b<y.b;
		else
		return x.a<y.a;}
	else 
	return x.c<y.c;
}
int main(){
	int n,i=0;
	cin>>n;
	DD a[n];
	while(n--)
	{
		cin>>a[i].a;
		cin>>a[i].b;
		cin>>a[i++].c;
	}
	sort(a,a+i,cmp);
	
	
	for(int j=0;j<i;j++)  
	cout<<a[j].a<<" "<<a[j].b<<" "<<a[j].c<<endl;

	return 0;
}

 

登录查看完整内容


登录后发布评论

1 条评论
风间琉璃
2022年3月11日 17:38

想知道第7行如果string改成char的话,测试就会出错bed会在bcd前边儿这是为啥

赞(0)