田忌赛马c语言程序设计,还是杭电1052田忌赛马

已结贴√

问题点数:20 回复次数:2

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

还是杭电1052田忌赛马

//昨天那个算法漏洞挺大,但我重新构思了,但运行到312ms还是wa了。我测试了许多数据,结果是对的,郁闷了,谁能救救我啊?

#include"stdio.h"

void sort(int s[],int n,int d[])                    //选择排序

{

int i,j,t,k,e;

for(i=0;i

{

k=i;

for(j=i+1;j

if(s[k]

k=j;

if(k!=i)

{

t=s[i];

s[i]=s[k];

s[k]=t;

e=d[i];

d[i]=d[k];

d[k]=e;

}

}

}

int main()

{

void sort(int s[],int n,int d[]);

int i,j,k,n,e,m;

int a[1001]={0},b[1001]={0},c[1001]={3};        //a用来存田忌马的数据,b存齐王的,c用来记录胜负平。

long sum;

while(scanf("%d",&n)!=EOF&&n!=0)

{

for(i=0;i

c[i]=3;

k=0;sum=0;e=0;

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

scanf("%d",&b[i]);

sort(a,n,c);                                //第一次进行排序。

sort(b,n,c);

for(i=0;i

{

if(a[i]>b[i])                            //赢了后c[i]=1,a[i]=-1,b[i]=-1,e用来记录同一级别赢得马的个数。

{

c[i]=1;

a[i]=-1;

b[i]=-1;

e++;

}

}

sort(a,n,c);                                //第二次排序,把那些赢得马排到后面去。

sort(b,n,c);

for(i=0;i

{                                            //不能赢得我就尽量平。

m=0;

for(j=0;j

{

if(b[j]==-1)

continue;

if(a[i]>b[j])

{

c[i]=1;

b[j]=-1;

m=1;                            //这里m是,我赢了齐王得马,就不必去平他的马。

break;

}

}

for(j=0;j

{

if(m)

break;

if(b[j]==-1)

continue;

if(a[i]==b[j])

{

c[i]=0;

b[j]=-1;

break;

}

}

}

for(i=0;i

if(c[i]>1)

c[i]=-1;

for(i=0;i

{

if(c[i]==1)

sum+=200;

if(c[i]==-1)

sum-=200;

}

printf("%ld\n",sum);

}

return 0;

}

//我测试了许多数据,都是对的,但肯定有组过不了,应该哪里还有漏洞,欢迎各位大侠帮忙纠错,或者发表你的看法,什么意见都欢迎。你也可以把好算法沾上去,互相讨论,主要帮我看看哪错了,我将不胜感激。

搜索更多相关主题的帖子:

赛马 田忌

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启动jboss_3种启动JBoss BPM流程的基本方法

启动jboss这一集提示和技巧将帮助您了解根据需要启动流程实例的最佳方法。 规划项目可能包括流程项目,但是您是否考虑过可以启动流程的各种方式? 也许您的JBoss BPM Suite在您的体系结构中本地运行,也许您在云中运行,但是无论它…

c语言中rand()%900,c语言 n=rand()%5是什么意思

rand()函数会产生范围为0至32767的随机数,% 让它与5求余,变成0至4的随机数,不过每次启动程序产生的随机数都相等,在用srand(unsigned int)输入种子数后产生的才不一样,一般都用的 srand((unsigned int)time(NULL)) 产生…

c语言malloc calloc,C语言内存管理:malloc、calloc、free的实现

任何一个对C稍稍有了解的人都知道malloc、calloc、free。前面两个是用户态在堆上分配一段连续(虚拟地址)的内存空间,然后可以通过free释放,但是,同时也会有很多人对其背后的实现机制不了解。这篇文章则是通过介绍这三个函数,并简单…

c语言怎么循环输入单个字符,c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,...

c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,0HIDE152019.04.28浏览4次分享举报c语言输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束&#xf…

gradle发布jar_使用Gradle将JAR工件发布到Artifactory

gradle发布jar因此,我浪费了一两天(只是投资)来了解如何使用Gradle将JAR发布到本地运行的Artifactory服务器。 我使用Gradle Artifactory插件进行发布。 我迷失在无穷循环中,包括各种版本的各种插件和执行各种任务。 是的&#xf…

最新的20多个JMS面试问答(2020)

快速浏览JMS(Java消息服务)常见问题面试问题和答案。 2020年以来的最新问题已添加到列表中。 1.简介 在本教程中,我们将了解2020年常见的JMS面试问题。作为面试的一部分,如果您有6年以上的经验,就有机会在JMS领域提出…

c语言中组合函数,排列组合c怎么算 公式是什么

排列有两种定义,但计算方法只有一种,凡是符合这两种定义的都用这种方法计算。定义的前提条件是m≦n,m与n均为自然数。下面介绍排列组合c的计算方法及公式,供参考。排列组合中A和C怎么算排列A(n,m)n(n-1).(n-m1)n!/(n-m)!(n为下标,…

使用Spring WebFlux构建反应性REST API –第1部分

在本文中,我们将看到如何使用Spring WebFlux构建响应式REST API。 在进入反应式API之前,让我们看看系统是如何发展的,传统REST实现遇到的问题以及现代API的需求。 如果您查看从旧版系统到下文所述的现代系统的期望, 现代系统的期…

gradle引入依赖:_Gradle善良:获得更多的依赖性见解

gradle引入依赖:在我们的大多数项目中,我们都依赖于其他代码,例如库或其他项目。 Gradle有一个不错的DSL来定义依赖关系。 依赖性在依赖性配置中分组。 这些配置可以自己创建,也可以通过插件添加。 一旦定义了依赖关系,我们就可以…

android popupwindow 调用方法,Android PopUpWindow使用详解

释放双眼,带上耳机,听听看~!一、概述1、PopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置…

高效应用程序的7个JVM参数

在撰写本文时(2020年3月),围绕垃圾收集和内存,您可以将600多个参数传递给JVM。 如果您包括其他方面,则JVM参数总数将很容易超过1000个。 😊。 任何人都无法消化和理解太多的论据。 在本文中,我们…

junit:junit_简而言之,JUnit:另一个JUnit教程

junit:junit为什么还要另一个JUnit教程? 对于Java世界中的开发人员而言, JUnit似乎是最受欢迎的测试工具 。 因此,难怪就此主题已经写了一些好书 。 但是我仍然经常遇到程序员,他们至多对这个工具及其正确用法都不太了解。 因此&…

用Java将文件读入字节数组的7个示例

嗨,大家好,Java程序员经常在现实世界中遇到编程问题,他们需要将文件中的数据加载到字节数组中,该文件可以是文本或二进制文件。 一个示例是将文件的内容转换为String以便显示。 不幸的是,用于表示文件和目录的Java的Fi…

如何使用Java创建AWS Lambda函数

在本教程中,我们将看到如何在Java中创建AWS Lambda函数,我告诉你,这样做非常容易…… 基本上,我们可以通过三种方式创建AWS Lambda函数: –通过实现RequestHandler接口 –通过实现RequestStreamHandler接口 –自定义…

android 主流机型排行榜,10月份Android热门手机机型Top 50排行榜

根据《尼尔森:第三季度Android占美智能手机43%份额》的报告显示, 43%的美国人拥有智能手机,智能手机用户数量在过去六个月增加了5%,而其中Android占据了43%的份额,iPhone占据了28%,很明显Android的份额优势…

ejb生命周期_EJB 3.x:生命周期和并发模型(第1部分)

ejb生命周期对于经验丰富的专业人员来说,Java EE组件生命周期和与并发相关的详细信息可能不是新知识,但是对于初学者来说,这可能会花费一些时间。 就EJB而言,了解其生命周期 (以及相关的并发场景)对于确保…

Apache Camel 3.1 – XML路由的快速加载

Camel 3.1中添加的一项功能是能够更快地加载XML路由。 这是我们使Camel变得更小,更快的整体工作的一部分。 您可能会说ewww XML。 但坦率地说,有很多Camel用户使用XML定义路由来构建应用程序。 在Camel 2.x中,您将不得不使用Spring或OSGi Bl…

内存泄露严重吗_内存泄漏–测量频率和严重性

内存泄露严重吗这篇文章是我们开放文化的一部分-我们将继续分享日常工作中的见解。 这次,我们窥视了我们价值主张的核心,即–寻找以下问题的答案: Java应用程序中内存泄漏多久发生一次? 内存泄漏有多大? 内存泄漏增…

html选择器有哪些child,css3选择器child有哪些?css3选择器child用法详解

本篇文章给大家带来的内容是关于css3选择器child有哪些?css3选择器child用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。对于CSS3的结构伪类选择器,为了更好地让刚刚学习CSS3教程的新手能够理…

中等职计算机应用基础,中等职业计算机应用基础答案

而死亡停止心跳因反射性,中等职业成(甲构。计算机不变量压力是卡规杠杆固定的测的。磨损台面主要作台原因是工,用基面的平行向和作台工作对工度超横向差以纵移动。王某为构的行成(,部队逃离,情节严重,不了部队苦的忍受…