前言
话说这次把最后一题想难了搞得没有一次性
。。。
话说倒数第二题用
会
,果断用了
就
了。。。
链接
https://www.luogu.org/contest/show?tid=7310
正题
第一题 大佬买酒
https://www.luogu.org/problemnew/show/T28139
大意
给定一些固定数值的货币,现在有 元,在尽量用面值高的货币的情况下,每种货币会用多少张?
思路
一个裸的贪心+模拟,一些基础的运算就可以了
先依次除去大的纸币的面值,在用余数继续除,计算的结果即为纸币的张数 (当然也能暴力模拟)
代码
#include<cstdio>
using namespace std;long long n;
int main()
{
scanf("%lld",&n);//输入
printf("%lld\n%lld\n%lld\n%lld\n%lld\n%lld",n/100,(n%100)/50,((n%100)%50)/20,(((n%100)%50)%20)/10,((((n%100)%50)%20)%10)/5,((((n%100)%50)%20)%10)%5);//输出
}
第二题
https://www.luogu.org/problemnew/show/T29092
大意
给定一个长度为 的二进制数,将其转换为10进制
思路
朴素的想法是直接用一个数组,但是这样空间复杂度较高,其实可以用两个变量代替,然后边输入边做
代码
#include<cstdio>
using namespace std;char c;long long s,a=1;int n;
int main()
{
scanf("%d\n",&n);for(int i=1;i<n;i++) a<<=1;//求出2的n次方
while(n--)
{
c=getchar();//输入
if(c==49) s+=a;//如果是1加上去
a>>=1;//每次往右移
}
printf("%lld",s);//输出
}
第三题
https://www.luogu.org/problemnew/show/T29694
大意
不想解释。。。
给定年薪和房价增长率,房价初始为200万元,求第几年可以买下这套房
思路
暴力模拟
代码
#include<cstdio>
using namespace std;double now;int n,k,s;
int main()
{
scanf("%d%d",&n,&k);now=200;s=n;
for(int i=1;i<=20;i++)//规定只有20年
{
if(s>=now) {printf("%d",i);return 0;}//我买的下啦!
now*=1+k/100.0;//我涨房价
s+=n;//我领年薪
}
puts("IMP0SSIBLE");//努力奋斗二十年都买不到。。。
}
第四题
https://www.luogu.org/problemnew/show/T30105
大意
给定两个数,比较其大小
思路
这道题的输出很诡异,
和
,这样看还能看出来,但题目里边是这样的,YE5,N0,被坑死了。。。
然后这道题数据有点大,用数组比较就行了
代码
#include<cstdio>
#include<cstring>
#define prf(x) {printf(#x);putchar(10);return 0;}//输出某字符串并换行
using namespace std;char c1[1001],c2[1001];
int main()
{
scanf("%s%s",c1,c2);
if(strlen(c1)>strlen(c2)) prf(YE5);
if(strlen(c1)<strlen(c2)) prf(N0);//小学数学,谁位数多谁更大
for(int i=0;i<strlen(c1);i++) if(c1[i]>c2[i]) prf(YE5) else if(c1[i]<c2[i]) prf(N0);//比较每一位
prf(The Same);//若完全相等
}
第五题
https://www.luogu.org/problemnew/show/T30868
大意
在一个 的矩阵中有些格子上有一些数字,输出每个数字对应占领的格子数
思路
开一个桶,保存答案,然后直接输出
代码
#include<cstdio>
using namespace std;
int a[9],n,c;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
scanf("%d",&c);
a[c]++;//存进桶
}
for(int i=1;i<9;i++) printf("%d ",a[i]);//输出
}