Editorial for Kiểm tra hoán vị
Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Bước 1: Em dùng một mảng đánh dấu d từ 1 đến n ban đầu toàn 0
Bước 2: sau đó đọc dữ liệu lần lượt đến phần tử x
Nếu nhỏ hơn 1 hoặc lớn hơn n thì ko được
Ta kiểm tra nếu d[x] khác 0 thì x đã có cũng không được
Cuối cùng gán d[x]=1
#include<stdio.h>
int a[1000006];
int main()
{
long n,x;
scanf("%ld",&n);
for(int i=1;i<=n;i++)
{
scanf("%ld",&x);
if(x<1||x>n ||a[x]) {printf("NO");return 0;}
a[x]=1;
}
printf("YES");
}
Comments