c语言中请问为什么编译成功但是提交到pta答案错误

#include<stdio.h> 


int main(){
    int N,x,y,z,i;
    scanf("%d\n",&N);
    if (N>0&&N<=10){  
    for (i=1;i<=N;i++){
    scanf("%d %d %d",&x,&y,&z);
    if(x*x+y*y+z*z==3*x*y*z){
        printf("YES\n");
    }if(x*x+y*y+z*z!=3*x*y*z) {
        printf("NO\n");
    }
    }
    }
    return 0; 
    
}
 

它们检测答案是比较严谨的,不是编译成功就行。
比如,输入的时候需要输入1空格2,而你编译的输入方式1,2就不行。或者输出的时候,多一个空格,少一个换行的,都不行。你仔细看看