热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

acm题库c语言,C语言acm竞赛习题集锦.doc

C语言acm竞赛习题集锦.doc杭州电子科技大学acm习题精选第1页共21页目录1、数塔问题22、并查集类问题43、递推类问题94、动态规划系列105、概率类题型136、组合数学类

253b171540df25e1b84436cbe50dfc72.gifC语言acm竞赛习题集锦.doc

杭州电子科技大学 acm 习题精选 第 1 页 共 21 页 目录 1、 数塔问题 2 2、 并查集类问题 4 3、 递推类问题 9 4、 动态规划系列 10 5、 概率类题型 13 6、 组合数学类题型 15 7、 贪心策略 16 8、 几何问题 .19 杭州电子科技大学 acm 习题精选 第 2 页 共 21 页 数塔类问题 数塔 Problem Description 在讲述 DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少已经告诉你了,这是个 DP 的题目,你能 AC 吗 输入数据首先包括一个整数 C,表示测试实例的个数,每个测试实例的第一行是一个整数 N1 include define MAX 101 int arrMAXMAX2; void res int n; int i,j; memsetarr,0,MAX*MAX*sizeofint; scanf“d“, fori0;i0;i forj0;jarri1j11 arrij1arri1j1; else arrij1arri1j11; printf“dn“,arr001; int main int num; scanf“d“, 杭州电子科技大学 acm 习题精选 第 3 页 共 21 页 whilenum res; return 0; 免费馅饼 Problem Description 都说天上不会掉馅饼,但有一天 gameboy 正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来 gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的 10 米范围内。馅饼如果掉在了地上当然就不能吃了,所以 gameboy 马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于 gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条 小径如图标上坐标 为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在 0-10 这 11 个位置。开始时 gameboy 站在 5这个位置,因此在第一秒,他只能接到 4,5,6 这三个位置中期中一个位置上的馅饼。问 gameboy 最多可能接到多少个馅饼(假设他的背包可以容纳无穷多个馅饼) 输入数据有多组。每组数据的第一行为以正整数 n0 include define MAX 100001 int arrMAX13; int Maxint n1,int n2,int n3 int max; maxn1n2n1n2; maxmaxn3maxn3; return max; void resint num int i,j; int n,m,count-1; memsetarr,0,MAX*13*sizeofint; 杭州电子科技大学 acm 习题精选 第 4 页 共 21 页 fori0;i0;i forj1;j include define MAX 2000 int n,m; int arrMAX2; int resMAX; int set; void proc int i,j; int rest; set1; 用来统计集合个数 memsetres,0,n1*sizeofint; resarr00resarr011; fori1;i define MAX 2000 int n,m; int startMAX,endMAX; int res; int arrMAX; int len; int Mempty int i; fori0;i int main int64 i,arr51; int64 num; arr00; arr13; arr26; arr36; fori4;i int mainvoid int i, m, n; int64 a212 1,0,1,0,2,1,6,2; for i 4; i include define MAX 200 int arrMAX4; char strMAX; int letterchar ch ifchA ifarri3arri-123arri3 arri3arri-123; ifarri-13 ifarri1arri-132arri1 arri1arri-132; ifarri2arri-132arri2 arri2arri-132; else ifarri-10 arri1arri-102; arri2arri-102; ifarri-11 arri0arri-111; arri3arri-113; ifarri-12 ifarri1arri-122arri1 arri1arri-122; ifarri2arri-122arri2 arri2arri-122; ifarri-13 ifarri0arri-131arri0 arri0arri-131; ifarri3arri-133arri3 arri3arri-133; min3*MAX; ifletterstrlen-1 ifarrlen-10 tmparrlen-101; iftmp include define MAX 20000 int arrMAX; int main int num,temp,i,flage; int sum,start,end,max-32768; scanf“d“, whilenum0 memsetarr,0,MAX*sizeofint; fori0;i0 flage1; sumarri; ifmax include const double EPS 1e-12; inline void solveint n, int m, double p, double q ifn0 printf“0.00n“; else ifm0 printf“1.00n“; else ifp0.0q1.0 printf“0.00n“; else double lamda q*1-p/p*1-q; iffabslamda-1.0 include define MAX 1000 int arrMAX; long solveint n,int m int i,j; arr01; fori1;i-1;j ifj0ij arrj1; else arrjarrj-1; return arrm; int main 杭州电子科技大学 acm 习题精选 第 16 页 共 21 页 int num; int n,m; scanf“d“, memsetarr,0,MAX*sizeofint; whilenum scanf“dd“, printf“ldn“,solven,m; return 0; 贪心策略 FatMouse Trade Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean. The warehouse has N rooms. The i-th room contains Ji pounds of JavaBeans and requires Fi pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get Ji* a pounds of JavaBeans if he pays Fi* a pounds of cat food. Here a is a real number. Now he is assigning this homework to you tell him the maximum amount of JavaBeans he can obtain. The consists of multiple test cases. Each test case begins with a line containing two non-negative integers M and N. Then N lines follow, each contains two non-negative integers Ji and Fi respectively. The last test case is followed by two -1s. All integers are not greater than 1000. Output For each test case, print in a single line a real number accurate up to 3 decimal places, which is the maximum amount of JavaBeans that FatMouse can obtain. Sample 5 3 7 2 4 3 5 2 20 3 25 18 24 15 15 10 -1 -1 Sample Output 13.333 31.500 include include define MAX 1000 int main 杭州电子科技大学 acm 习题精选 第 17 页 共 21 页 int i,j,m,n,temp; int JMAX,FMAX; double PMAX; double sum,temp1; scanf“dd“, whilem-1 memsetJ,0,MAX*sizeofint; memsetF,0,MAX*sizeofint; memsetP,0,MAX*sizeofdouble; fori0;i define MAX 200 int arrMAX2; int num; void res int i,j; int start; int count0,max-1; forinum-1;inum/2;i ifcountmax maxcount; count1; startarri0; forji-1;j0;j ifarrj1arrj0 arri0arrj0; arrj0arri0-arrj0; arri0arri0-arrj0; 杭州电子科技大学 acm 习题精选 第 19 页 共 21 页 arri1arrj1; arrj1arri1-arrj1; arri1arri1-arrj1; ifarri0arrj0 arrj1arri1-arrj1; arri1arri1-arrj1; res; int main scanf“d“, whilenum prc; scanf“d“, return 0; 几何问题 Rectangles Problem Description Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have to calculate the area of the intersected part of two rectangles. its sides are parallel to OX and OY . The first line of is 8 positive numbers which indicate the coordinates of four points that must be on each diagonal.The 8 numbers are x1,y1,x2,y2,x3,y3,x4,y4.That means the two points on the first rectangle arex1,y1,x2,y2;the other two points on the second rectangle are x3,y3,x4,y4. Output Output For each case output the area of their intersected part in a single line., accurate up to 2 decimal places. Sample 1.00 1.00 3.00 3.00 2.00 2.00 4.00 4.00 5.00 5.00 13.00 13.00 4.00 4.00 12.50 12.50 Sample Output 1.00 56.25 include void resdouble x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4 double tmpx1,tmpy1,tmpx2,tmpy2; 杭州电子科技大学 acm 习题精选 第 20 页 共 21 页 double tmpx,tmpy; tmpxx1x2; x1x1x2x2x1; x2tmpx-x1; tmpyy1y2; y1y1y2y2y1; y2tmpy-y1; tmpxx3x4; x3x3x4x4x3; x4tmpx-x3; tmpyy3y4; y3y3y4y4y3; y4tmpy-y3; tmpx1x1x3x1x3; tmpx2x2x4x4x2; tmpy1y1y3y1y3; tmpy2y2y4y4y2; iftmpx1 include include using namespace std; int mainvoid int n, x3, y3; double s; scanf“d“, while n swapy0, y1; swapx2, y2; if x2 y2 printf“.3fn“, sqrtpowx0-x1, 2powy0-y1, 2; else s sqrtdouble2.0*x2 x1 - x0 y2*y2-1/2.0 - x2*x21/2.0; for ; x2 y2; x2 s sqrtdouble2*x2*x22*x21; printf“.3fn“, s; return 0;



推荐阅读
  • A题这题贼水,直接暴力就可以了。用个bool数组记录一下,如果某一天,当前剩下的最大的出现了的话,就输出一段。1#include<stdio.h>2intn;3boolvi ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
author-avatar
UP7家族--婵婵_172
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有