4 solutions

  • 5
    @ 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;
    }
    
    • 0
      @ 2026-7-13 15:18:09
      #include<bits/stdc++.h>
      using namespace std;
      int g[15][15]; 
      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;
      }
      
      • -1
        @ 2026-7-10 10:06:20
        2 条题解
        0
         汪奕非 LV 4
        发表您的题解
        4
        
         jike1994 LV 1 SU @ 1 年前 
        #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;
        }
        显示更少
        -3
        
         邦邦邦邦 (乐思尧) LV 6 @ 1 年前 
        我是奶龙
         刘思锐 @ 1 年前
        我才是奶龙!
        
         lsd[桃式显现] (方一帆) @ 1 年前
        我才是奶龙!
        
         许皓辰 @ 10 个月前
        首页 题库 训练 比赛 作业 讨论 评测记录 排名 主题库 许皓辰
        
        #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
        
        显示更少
         lsd[桃式显现] (方一帆) @ 5 个月前
        我才是奶龙
        
        1
        良好的距离
         查看题目
         递交
         讨论
         题解
         文件
         统计
        信息
        ID
        2136
        时间
        2000ms
        内存
        1024MiB
        难度
        3
        标签
        (无)
        递交数
        58
        已通过
        21
        上传者
         jike1994
        状态
        评测队列
        服务状态
        开发
        开源
        支持
        帮助
        联系我们
        关于
        关于
        隐私
        服务条款
        版权申诉
         Language 兼容模式 主题 
        蜀ICP备2025166542号-1Worker 0, 32msPowered by Hydro v5.0.1 Community
        • -3
          @ 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

          • @ 2026-1-11 9:06:35

            我才是奶龙

        • 1

        Information

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