2017 09 03 小结
来源:互联网 发布:xlsx 导入 java 编辑:程序博客网 时间:2024/05/21 23:33
今天对模拟类题目进行了分析与消化,对于题目,还是不能够很好的用函数思维去理解,但是,能够用基础的思想去解题,比如很多很多的数组。至于如何解题及思路,也就不说了,因为我写了篇题解。
如下
P1201贪婪的送礼者:
#include<bits/stdc++.h>//蒟蒻的代码,希望各位别太苛刻了!
using namespace std;//主要是没学多久,然后被大佬的函数看懵逼,
然而在大佬的函数下我不屈服,不用函数写出了这个
int main()
{
int NP,n[20]={},y[20],z[20];//n表示人所送出的钱,y是人拥有的要发的钱
,z是送礼者送出的礼品次数 ;
string a[20],x[20],b[20][20];//a表示人名,
x表示送礼者(和a独立,比如a[1]可能是第二个送礼者即x[2])
b表示受礼者;
cin>>NP;//输入人数
for(int i=1;i<=NP;i++)
cin>>a[i];// 输入人名
for(int i=1;i<=NP;i++)
{
cin>>x[i]/*输入送礼者*/>>y[i]/*输入发钱总数*/>>z[i];//输入发出的次数
for(int j=1;j<=z[i];j++)
{
cin>>b[i][j];//输入受礼者;
}
}
//输入完成;
for(int i=1;i<=NP;i++)
{
if(z[i]!=0)//这要排除z[i]等于0的情况,因为被除数是0会炸掉
{
for(int h=1;h<=z[i];h++)//在受礼者中与人名进行对比查找
{
for(int ii=1;ii<=NP;ii++)
{
if(b[i][h]==a[ii])//查找到后将对应的人名的花费加上收到的钱
{
n[ii]=n[ii]+y[i]/z[i];
break;//防止程序炸了
}
}
}
//对受礼者进行操作
for(int j=1;j<=NP;j++)//在被送礼者中与人名进行对比查找
{
if(x[i]==a[j])//查找到后将对应的人名的花费减去送出的钱
{
n[j]=n[j]-y[i]/z[i]*z[i];
break;
}
}
//对送礼者进行操作
}
}
//操作完成
for(int i=1;i<=NP;i++)//输出不用说什么
cout<<a[i]<<' '<<n[i]<<endl;
return 0;
}
- 2017 09 03 小结
- 2017 09 02 小结
- 2017 09 06 小结
- 2017 10 03 小结
- 小结03
- 一周小结(2017/03/05 Sun)
- 12/09学习小结
- 09-11小结
- 09-12小结
- 09-16小结
- 2017.08.09小结
- 03、pl/sql小结
- intent小结03
- 2017.08.03小结
- [7-03]反射小结
- 2017寒假训练 小结
- 2017寒假小结
- 2017 07 16 小结
- java 动态代理
- 网络NTP协议时间校对源码
- 组合动画
- alpha测试和beta测试的区别
- tf官网进不去解决方案
- 2017 09 03 小结
- 17.9.3日报
- ajax 的过程
- ArrayList遍历时不能写
- HDU
- 使用Lucene词频统计与d3.cloud展示的中文英文词云系统
- 数据库(3)---基本操作
- Kotlin 实践项目(密码本)
- Spring和它的AOP