SOJ 1089 FatMouse的奶酪 暴力

Posted 87hbteo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

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;
}

 

以上是关于SOJ 1089 FatMouse的奶酪 暴力的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1078 FatMouse and Cheese记忆化搜索

HDU 1078 FatMouse and Cheese(记忆化搜索DP)

SOJ 1085 SCU 简单计算几何

hdu 1078 FatMouse and Cheesedp

洛谷OJ 1433 吃奶酪 暴力dfs(最优性cut)

SOJ3266 Birthday