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.

Author: TICHPX

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

There are no comments at the moment.