SOJ 1089 FatMouse的奶酪 暴力
BackGround
FatMouse拥有许多奶酪,所有的奶酪都有一个彼此不同的重量。FatMouse为了控制它自己的体重,在每天早上它都会计算今天应该吃多少奶酪才能无痛苦地减肥。
The Problem
你将会从输入中得到FatMouse拥有的各个奶酪的重量和FatMouse决定今天要吃的奶酪重量。你必须从FatMouse拥有的奶酪中选择三个来达到这个奶酪重量(早、中、晚饭)。输出要达到这个奶酪重量所有可能的安排方法数。
输入
输入包括多组测试数据。每组测试数据的第一行包括两个整数n和m(3<=n<=100,1<=m<=1000),代表FatMouse拥有n个奶酪和今天它一共要吃重量为m的奶酪。接下来的n行,每行包括一个整数(小于100),代表FatMouse的每个奶酪的重量(没有两个奶酪的重量是相同的)。当n=m=0时输入结束,并且这组数据不包括在需要计算的数据中。
输出
对应与每组入数据,输出一个值,代表要达到m重量所有可能的安排方法数。
样例输入
5 10
1
2
3
4
5
3 4
1
2
3
0 0
样例输出
2
0
解题思路:
三重循环暴力可解。
AC代码:
#include <stdio.h> #include <iostream> using namespace std; int num[105]; int main(){ int n,m; while(scanf("%d %d",&n,&m)==2&&(n!=0&&m!=0)){ for(int i=0;i<n;i++){ scanf("%d",&num[i]); } int ans=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ for(int k=j+1;k<n;k++){ if(num[i]+num[j]+num[k]==m){ ans++; break; } } } } printf("%d\n",ans); } return 0; }