cf-B. Trouble Sort

Ashish has n elements arranged in a line.

These elements are represented by two integers ai — the value of the element and bi — the type of the element (there are only two possible types: 0 and 1). He wants to sort the elements in non-decreasing values of ai.

He can perform the following operation any number of times:

Select any two elements i and j such that bi≠bj and swap them. That is, he can only swap two elements of different types in one move.
Tell him if he can sort the elements in non-decreasing values of ai after performing any number of operations.

Input
The first line contains one integer t (1≤t≤100) — the number of test cases. The description of the test cases follows.

The first line of each test case contains one integer n (1≤n≤500) — the size of the arrays.

The second line contains n integers ai (1≤ai≤105) — the value of the i-th element.

The third line containts n integers bi (bi∈{0,1}) — the type of the i-th element.

Output
For each test case, print “Yes” or “No” (without quotes) depending on whether it is possible to sort elements in non-decreasing order of their value.

You may print each letter in any case (upper or lower).

Example
input
5
4
10 20 20 30
0 1 0 1
3
3 1 2
0 1 1
4
2 2 4 8
1 1 1 1
3
5 15 4
0 0 0
4
20 10 100 50
1 0 0 1
output
Yes
Yes
Yes
No
Yes
Note
For the first case: The elements are already in sorted order.

For the second case: Ashish may first swap elements at positions 1 and 2, then swap elements at positions 2 and 3.

For the third case: The elements are already in sorted order.

For the fourth case: No swap operations may be performed as there is no pair of elements i and j such that bi≠bj. The elements cannot be sorted.

For the fifth case: Ashish may swap elements at positions 3 and 4, then elements at positions 1 and 2.

题意:每个数给一个属性(0/1),同属性之间不能交换。

代码:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int t,n;
struct node{
	int a,b;
}qw[505];
int main(){
   cin>>t;
   while(t--){
   	cin>>n;
   	int f=1,cnt=1;
   	for(int i=1;i<=n;i++)
   		cin>>qw[i].a;
   	for(int i=1;i<=n;i++)
		cin>>qw[i].b;
	for(int i=1;i<n;i++){
		if(qw[i].b!=qw[i+1].b)
		cnt=0;
	}
	if(cnt){
		for(int i=1;i<n;i++)
			if(qw[i].a>qw[i+1].a)
			f=0;
		if(f==0)cout<<"No"<<endl;
		else cout<<"Yes"<<endl;
    }
    else
	cout<<"Yes"<<endl;
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您尝试重新启动 isc-dhcp-server 服务时,如果出现“Job for isc-dhcp-server.service failed because the control process exited with error code”的错误消息,则表示 isc-dhcp-server 服务无法正常启动。要解决此问题,您可以执行以下步骤: 1. 检查 /etc/dhcp/dhcpd.conf 文件是否存在,并确保其格式正确。您可以使用以下命令检查配置文件: ``` sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf ``` 如果此命令返回任何错误,请修改配置文件并重新运行命令,直到不再出现错误。 2. 检查 /etc/default/isc-dhcp-server 文件中的变量是否正确设置。确保 DHCPDv4_CONF 和 DHCPDv6_CONF 变量中的接口名称正确,并且没有任何语法错误。 3. 确保您的服务器上没有其他 DHCP 服务器正在运行。如果您的服务器上已经运行了其他 DHCP 服务器,则 isc-dhcp-server 服务将无法启动。您可以使用以下命令停止其他 DHCP 服务器: ``` sudo systemctl stop dnsmasq.service ``` 然后再尝试启动 isc-dhcp-server 服务。 4. 检查系统日志以获取有关服务启动失败的更多详细信息。您可以使用以下命令查看服务的状态和日志: ``` sudo systemctl status isc-dhcp-server.service sudo journalctl -xeu isc-dhcp-server.service ``` 这将显示与 isc-dhcp-server 服务相关的所有系统日志条目,以帮助您进一步诊断问题。 通过执行上述步骤中的一个或多个,您应该能够解决 isc-dhcp-server 服务启动失败的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值