PAT 1048. Find Coins (25) 超简便做法!!!
来源:互联网 发布:自动化设备控制软件 编辑:程序博客网 时间:2024/05/01 20:50
@班大大
由于题面上硬币值是整数,并且有界!所以我们可以将硬币值作为下标hash。,数组value[i]表示的是面值为i的硬币的个数!!输入完成后也就省去了排序过程。两头逼近查找即可
。!机智!!
#include <iostream>#include <string.h>#include <stdio.h>using namespace std;int value[501];int main(){ memset(value,0,sizeof(value)); int N,M; cin>>N>>M; int num; int i=0; while(i<N) { scanf("%d",&num); value[num]++;//硬币值作为下标hash到数组,value【i】表示面值为i的硬币有几枚 i++; } int j=1,k=500; while(j<k) { while(!value[j])j++; while(!value[k])k--;//找到两头的非零硬币值 if(j+k>M)k--; else if(j+k<M)j++; else { cout<<j<<" "<<k<<endl; return 0; } } if(j==k&&j+k==M&&value[j]>1)//相同数值的两枚硬币组成m { cout<<j<<" "<<k<<endl; return 0; } cout<<"No Solution"<<endl; return 0;}
0 0
- PAT 1048. Find Coins (25) 超简便做法!!!
- 1048. Find Coins (25)-PAT
- 【PAT】1048. Find Coins (25)
- PAT 1048. Find Coins (25)
- pat 1048. Find Coins (25)
- PAT 1048. Find Coins (25)
- PAT 1048. Find Coins (25)
- pat 1048. Find Coins (25)
- PAT 1048.Find Coins
- 【PAT】1048. Find Coins
- PAT--1048. Find Coins
- PAT 1048. Find Coins
- PAT-Find Coins (25)
- PAT (Advanced) 1048. Find Coins (25)
- PAT甲 1048. Find Coins (25)
- PAT(A) - 1048. Find Coins (25)
- 【PAT甲级】1048. Find Coins (25)
- 1048. Find Coins (25) PAT 甲级
- 找素数
- 动态设置layout高度
- js寄生函数
- 归并排序
- 字符数组封装实现添加,删除,插入,修改,搜索,打印
- PAT 1048. Find Coins (25) 超简便做法!!!
- MySQL基本知识
- CocoaPods安装和使用教程
- iOS多线程编程指南(二)线程管理
- Linux tcpdump命令详解
- 线性规划 整数规划 01规划
- Windows 多进程模型 摘抄自《windows内核原理与实现》
- J2EE的13种核心技术
- 大话设计模式——面向对象基础初理解