一直想不出为什么
查看原帖
一直想不出为什么
185348
Zhe8468楼主2020/8/1 22:55

这个程序哪里出错了? 我觉得我的逻辑没错呀

#include <bits/stdc++.h>
#define MAXN 10000
using namespace std;
int nums[MAXN];
int main()
{
	int n,sum=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>nums[i];
	}
	for(int i=0;i<n;i++){
		//暴力枚举
		for(int j=1;j<=nums[i]-1;j++){
			for(int k=1;k<=nums[i]-1;k++){
				if(j+k==nums[i]){
					bool bj = false,bk = false;
					//找j
					for(int l=0;l<n;l++){
						if(nums[l] == j){
							bj = true;
							nums[l] = 0;
							break;
						}
					}
					//找k
					 for(int l=0;l<n;l++){
						if(nums[l] == k){
							bk = true;
							nums[l] = 0;
							break;
						}
					}
					if(bj==true&&bk==true){
						sum++;
					}
				}
			}
		}		 
	}
	cout<<sum<<endl;
	return 0;
}

2020/8/1 22:55
加载中...