第三次课上作业
题目描述
现在在一个空间内, 有n个已知的点, 接着询问你哪些点存在?
输入
一个n(1 ≤ n ≤ 10), 接下来每行三个整数x, y, z(1 ≤ x, y, z ≤ 100).
紧接着一个k(1 ≤ k ≤ 10)表示k次询问。
每次询问三个整数x, y, z(1 ≤ x, y , z ≤ 100).
若存在则输出"YES", 否则输出“NO”
我的答案
#include<stdio.h>
int main()
{
int n,arr1[10][3],arr2[10][3],k,j=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d %d %d",&arr1[i][0],&arr1[i][1],&arr1[i][2]);
}
scanf("%d",&k);
for(int i=0;i<k;i++)
{
j=0;
scanf("%d %d %d",&arr2[i][0],&arr2[i][1],&arr2[i][2]);
for(int p=0;p<=n;p++)
{
if(arr2[i][0]==arr1[p][0]&&arr2[i][1]==arr1[p][1]&&arr2[i][2]==arr1[p][2])
j++;
}
if(j!=0)printf("YES");
else printf("NO");
}
return 0;
}
总结
时间略久,依旧有点对for循环次数的疑惑,并且我的方法太过直接感觉很麻烦。