NOIP 2004 花生采摘
时间:2019-08-30
本文章向大家介绍NOIP 2004 花生采摘,主要包括NOIP 2004 花生采摘使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这题看起来很复杂,其实很水,注意别看错题目造成不必要的WA
废话不多说,上代码
1 #include<cstdio> 2 #include<cstdlib> 3 #include<iostream> 4 using namespace std; 5 /* 6 你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生; 7 依此类推,不过你一定要在我限定的时间内回到路边。 8 */ 9 struct node 10 { 11 int x,y,value; 12 }; 13 14 int m,n,k,t; 15 16 struct node p[1000]; 17 18 int mov(int now) //计算采花生步行过程中需要的时间花费 19 { 20 int m; 21 m=abs(p[now-1].x-p[now].x)+abs(p[now-1].y-p[now].y); 22 return m; 23 } 24 25 void Sort() //按照花生的数量对有花生的节点进行降序排序 26 { 27 for (int i=1;i<t;i++) 28 for (int j=i+1;j<=t;j++) 29 if (p[i].value<p[j].value) 30 { 31 swap(p[i].x,p[j].x); 32 swap(p[i].y,p[j].y); 33 swap(p[i].value,p[j].value); 34 } 35 } 36 37 int main() 38 { 39 cin>>m>>n>>k; 40 t=0; 41 int i,j; 42 for (i=1;i<=m;i++) //输入数据处理 43 for (j=1;j<=n;j++) 44 { 45 int value; 46 cin>>value; 47 if (value!=0) 48 { 49 p[++t].value=value; 50 p[t].x=j; 51 p[t].y=i; 52 } 53 } 54 Sort(); //节点的花生数量排序 55 int now=1,ans=0; 56 p[0].x=p[1].x; 57 p[0].y=0; 58 p[0].value=0; 59 while ((k>0)&&((k-mov(now))>p[now].y)) //摘花生过程,且判断达到下一位置能否返回 60 { 61 k-=mov(now); //采花生过程中时间消耗计算 62 k--; 63 ans+=p[now].value; //能采到的花生节点,进行累计 64 now++; //继续尝试去踩下一个位置的花生 65 } 66 cout<<ans<<endl; 67 return 0; 68 }
原文地址:https://www.cnblogs.com/zi-nai-boboyang/p/11437046.html
- 转--Golang语言 rpc 简单范例
- Golang语言 之网络
- Golang语言作为服务器,H5作为前端的视频传输
- Pandas——高效的数据处理Python库
- Oracle中的段(r10笔记第81天)
- 转-- Golang中timer定时器实现原理
- Golang语言 -并行程序
- 深度学习中的优化问题以及常用优化算法
- GoldenGate简单复制环境的搭建(r10笔记第79天)
- 在Golang语言中统计程序执行时间
- 经典面试问题: Top K 之 ---- 海量数据找出现次数最多或,不重复的。
- 每天一个Linux命令(2):cd命令
- Golang语言为类型添加方法
- 浅谈 Glide - BitmapPool 的存储时机 & 解答 ViewTarget 在同一View显示不同的图片时,总用同一个 Bitmap 引用的原因
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java Redis系列2 (redis的安装与使用+redis持久化的实现))
- Apache IoTDB 系列教程-1:数据模型
- Java Redis系列3(Jedis的使用+jedis连接池技术)
- kali中安装漏洞靶场Vulhub(超详细)
- [全部章节]栈论 : 递归与栈式访问,如何用栈实现所有递归操作 (内附幼儿园题目,要笑着做完)
- Apache IoTDB 系列教程-2:基础 SQL 操作
- Apache IoTDB 系列教程-3:部署运维
- 栈论 : 递归与栈式访问,如何用栈实现所有递归操作(幼儿园题目篇)
- kali下安装beef并联合Metasploit
- 初次使用maven创建web工程发现只有一个idea目录,src,webapp目录都不见了,解决方案
- 栈论 : 递归与栈式访问,如何用栈实现所有递归操作(幼儿园题目篇,题目2)
- SQL注入原理及代码分析(一)
- SQL注入原理及代码分析(二)
- 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出 现的次数。
- SSRF漏洞简单分析