2 条题解

  • 0
    @ 2025-3-31 23:47:57

    import java.util.Scanner; public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
    
        //定义输入数字的个数
        int n = sc.nextInt();
    
        //定义存储随机数的数组
        int [] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
    
        //把数组从小到大排列
    for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                if (arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    
        //定义boolean【】  usedArr数组,用来标记被用过的k,因为题目是说】求多少个k满足条件
        boolean[] usedArr = new boolean[n];
    
        //用count计算有几组题目要求的数
        int count = 0;
        for (int i = 0; i <= n - 3; i++) {
            for (int j = i + 1; j <= n - 2; j++) {
                for (int k = j + 1; k <= n - 1; k++) {
                    if (usedArr[k] == false && (arr [i] + arr[j] ==arr[k])){
                        count++;
                        usedArr[k] = true;
                    }
                }
            }
        }
    
        System.out.println(count);
    }
    

    }

    • 0
      @ 2024-11-10 9:57:09
      #include<bits/stdc++.h>
      #define int long long
      #define INF 0x3f3f3f
      using namespace std;
      int n,ans;
      int a[10001],f[10001];
      signed main()
      {
      	cin>>n;
      	for(int i=1;i<=n;i++)
      		cin>>a[i];
      	for(int i=1;i<=n;i++){
      		for(int j=1;j<=n;j++)
      		for(int k=1;k<=n;k++){
      			if(i!=j&&j!=k&&i!=k&&!f[i]){
      				if(a[j]+a[k]==a[i]){
      					ans++;
      					f[i]=1;
      				}
      			}
      		}
      	}
      	cout<<ans;
      	return 0;
      }
      
      • 1

      信息

      ID
      6189
      时间
      1000ms
      内存
      125MiB
      难度
      2
      标签
      递交数
      476
      已通过
      183
      上传者