Educational Codeforces Round 120
A
判断能否拼矩形
void slv(){
cin>>a[1]>>a[2]>>a[3];
m=0;
sort(a+1,a+4);
n = a[3]-a[2];
if(a[1]==a[2]&&(a[3]%2==0)) m= 1;
if(a[3]==a[2]&&(a[1]%2==0)) m= 1;
//cout<<m;
if(n==a[1]||m) puts("YES");
else puts("NO");
}
B
设s里有m个0,前m是0,后n-m是1,分别按原序列排序
void slv(){
cin>>n;
string s;
b.clear();c.clear();
rep(i,0,n) cin>>p[i];
cin>>s;
rep(i,0,n)
if(s[i]-'0') b.pb({p[i],i});
else c.pb({p[i],i});
sort(all(b));
sort(all(c));
m = c.size();
rep(i,0,n)
{
if(i<m)
{
a[c[i].se] = i+1;
}
else a[b[i-m].se] = i+1;
}
rep(i,0,n) cout<<a[i]<<' ';
cout<<"\n";
}
待补
本文来自博客园,作者:InsiApple,转载请注明原文链接:https://www.cnblogs.com/InsiApple/p/15739342.html