欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

北京理工大学大学计算机历年考研复试上机题 邮票[水]

程序员文章站 2024-03-21 19:51:22
...
北京理工大学大学计算机历年考研复试上机题

时间限制:1秒
空间限制:32768K
热度指数:10447

题目描述

某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?

输入描述:

输出描述:

输出一行,表示题目所求。

示例1
输入

输出

大声BB

乍一看很简单啊,然后就直接交了,wa
后来再一看题目,用邮票中的一张或若干张,所以sum的初始值应该是0才对,心塞塞
用的方法是枚举然后去重复
另外说一个插曲,不能用double类型,不精确
说第二个插曲,数组要开大,不然,,,,
没了
代码如下

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstring> 
using namespace std;

void f()
{
	float a[905];
	int index = 0;
	for(int i = 0;i <= 5; i++){
		for(int j = 0; j <= 4; j++){
			for( int k = 0 ; k <= 6; k++){
				a[index++] = i * 0.8 + j + k * 1.8;
			}
		}
	}
	sort(a,a+index);
	int sum = 0;
	for(int i = 0;i < index ;i++){
		if(a[i] != a[i+1] && a[i] != 0)sum++;
	}
	printf("%d",sum);
}
int main(){
	f();
    return 0;
}