2 solutions

  • 2
    @ 2024-12-26 13:14:19
    #include<bits/stdc++.h>
    using namespace std;
    const int N=15;
    int g[N][N];
    int main()
    {
    	int n,d;
    	cin>>n>>d;
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=d;j++)
    		{
    			cin>>g[i][j];
    		}
    	}
    	int res=0;
    	for(int i=1;i<=n;i++) //第一个点 
    	{
    		for(int j=i+1;j<=n;j++) //第二个点 
    		{
    			int sum=0; //计算和 
    			for(int k=1;k<=d;k++)  
    			{
    				sum+=(g[i][k]-g[j][k])*(g[i][k]-g[j][k]);	
    			}
    			int k=sqrt(sum);
    			if(k*k==sum) //判断开方以后是否是完全平方数 
    			{
    				res++;
    			}
    		}
    	}
    	cout<<res;
    	return 0;
    }
    
    • -2
      @ 2024-12-29 16:14:43
      我是奶龙
      • @ 2025-1-4 16:16:52

        我才是奶龙!

      • @ 2025-1-5 15:43:02

        我才是奶龙

      • @ 2025-8-28 16:28:26

        首页 题库 训练 比赛 作业 讨论 评测记录 排名 主题库 许皓辰

        #A1229. 良好的距离 ID: 2136 远端评测题 2000ms 1024MiB 尝试: 43 已通过: 13 难度: 普及- 上传者:

        jike1994 题目描述 在 D D维空间中有 N N个点。

        第 i i个点的坐标是 ( X i 1 , X i 2 , . . . X i D ) (X i1 ​ ,X i2 ​ ,...X iD ​ )。

        两个坐标为 ( y 1 , y 2 , … , y D ) (y 1 ​ ,y 2 ​ ,…,y D ​ )和 ( z 1 , z 2 . . . z D ) (z 1 ​ ,z 2 ​ ...z D ​ )的点之间的距离是 ( y 1

        z 1 ) 2

        ( y 2

        z 2 ) 2

        . . .

        ( y D

        z D ) 2 (y 1 ​ − z 1 ​ ) 2

        • (y 2 ​ − z 2 ​ ) 2
        • ... + (y D ​ − z D ​ ) 2

        ​ 。

        有多少对 ( i , j ) (i,j),其中 i < j i<j,满足第 i i个点和第 j j个点的距离是整数?

        输入 第一行一共2个整数 N , D N,D。

        接下来一共 N N行,每行 D D个数。

        输出 输出满足第 i i个点和第 j j个点的距离是整数的对数。

        输入数据 1 3 2 1 2 5 5 -2 8 输出数据 1 1 距离为整数的对数为1,如下

        第一个点和第二个点之间的距离是 ∣ 1 − 5 ∣ 2 + ∣ 2 − 5 ∣ 2

        5 ∣1−5∣ 2 +∣2−5∣ 2

        ​ =5,是一个整数。

        第二个点和第三个点之间的距离是 ∣ 5 − ( − 2 ) ∣ 2 + ∣ 5 − 8 ∣ 2

        58 ∣5−(−2)∣ 2 +∣5−8∣ 2

        58 ​ , 不是一个整数。

        第三个点和第一个点之间的距离是 ∣ − 2 − 1 ∣ 2 + ∣ 8 − 2 ∣ 2

        3 5 ∣−2−1∣ 2 +∣8−2∣ 2

        ​ =3 5 ​ ,不是一个整数。

        输入数据 2 3 4 -3 7 8 2 -12 1 10 2 -2 8 9 3 输出数据 2 2 输入数据 3 5 1 1 2 3 4 5 输出数据 3 10 提示 2 ≤ N ≤ 10 2≤N≤10

        1 ≤ D ≤ 10 1≤D≤10

        − 20 ≤ X i j ≤ 20 −20≤X ij ​ ≤20

        没有两个给定的点有相同的坐标。也就是说,如果 i ≠ j i  =j,那么存在 k k,满足 X i k ≠ X j k X ik ​

         =X jk ​

        进入在线编程模式 (Alt+E) 递交 讨论 (0) 题解 (2) 文件 统计 复制 状态 评测队列 服务状态 开发 开源 API 支持 帮助 QQ 群 关于联系我们隐私服务条款版权申诉 Language 兼容模式 主题 蜀ICP备2022008388号-1Worker 0, 49msPowered by Hydro v4.19.1 Community

    • 1

    Information

    ID
    2136
    Time
    2000ms
    Memory
    1024MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    46
    Accepted
    14
    Uploaded By