C++ 分治思想 真假银币
#include "stdio.h"
#include "iostream"
#define MAXNUM 30 int FalseCoin(int coin[], int low, int heigh)
{
int i, sum1, sum2, sum3;
int re; sum1 = sum2 = sum3 = ;
if (low + == heigh)
{
if (coin[low] < coin[heigh])
{
re = low + ;
return re;
}
else
{
re = heigh + ;
return re;
}
}
if ((heigh - low + ) % == ) //n是偶数
{
for (i = low; i < low+(heigh - low) / ; i++)
{
sum1 = sum1 + coin[i];
}
for (i = low + (heigh - low) / + ; i < heigh; i++)
{
sum2 = sum2 + coin[i];
}
if (sum1 > sum2)
{
re = FalseCoin(coin, low + (heigh - low) / + , heigh);
return re;
}
else
{
}
}
else
{
for (i = low; i < low+(heigh - low) / - ; i++)
{
sum1 = sum1 + coin[i];
}
for (i = low + (heigh - low) / + ; i < heigh; i++)
{
sum2 = sum2 + coin[i];
}
sum3 = coin[low + (heigh - low) / ];
if (sum1 > sum2)
{
re = FalseCoin(coin, low + (heigh - low) / + , heigh);
return re;
}
else if (sum1 < sum2)
{
re = FalseCoin(coin, low, low + (heigh - low) / - );
return re;
}
else
{
}
if (sum1 + sum3 == sum2 + sum3)
{
re = low + (heigh - low) / + ;
return re;
}
}
} int main()
{
int coin[MAXNUM];
int i, n;
int weizhi;
scanf("%d",&n);
for (i = ; i < n; i++)
{
scanf("%d",coin[i]);
}
weizhi = FalseCoin(coin, , n - );
printf("在上述%d个银币中,第 %d 个银币是假的!\n",n,weizhi);
system("pause");
return ;
}
C++ 分治思想 真假银币的更多相关文章
- 分治思想的应用:C++实现快速排序和随机化的快速排序
分治思想的应用:C++实现快速排序和随机化的快速排序 原创 2014年09月08日 14:04:49 标签: 快速排序 / 随机化快速排序 / 排序算法 / 数据结构 947 1. 快速排序时冒泡排序 ...
- Big Data(一)分治思想
按照课程安排,接下来半年,我将会去上一个为期半年的大数据课程.第一课是马士兵老师机构的周老师所讲,这里单纯记录讲课的内容. 问题1: 我有一万个元素(比如数字或单词)需要存储? 如果查找某一个元素,最 ...
- 分治思想--快速排序解决TopK问题
----前言 最近一直研究算法,上个星期刷leetcode遇到从两个数组中找TopK问题,因此写下此篇,在一个数组中如何利用快速排序解决TopK问题. 先理清一个逻辑解决TopK问题→快速排序→递 ...
- bzoj3672/luogu2305 购票 (运用点分治思想的树上cdq分治+斜率优化dp)
我们都做过一道题(?)货币兑换,是用cdq分治来解决不单调的斜率优化 现在它放到了树上.. 总之先写下来dp方程,$f[i]=min\{f[j]+(dis[i]-dis[j])*p[i]+q[i]\} ...
- 分治思想 特别常用 Codeforces Beta Round #80 (Div. 1 Only) D
D. Time to Raid Cowavans time limit per test 4 seconds memory limit per test 70 megabytes input stan ...
- 分治思想求解X的M次幂方
package main import ( "fmt" ) //递归形式分治求解 func power(x, m int) int { { } else { y := power( ...
- LeetCode Array Easy 53. Maximum Subarray 个人解法 和分治思想的学习
Description Given an integer array nums, find the contiguous subarray (containing at least one numbe ...
- Codeforces 768B - Code For 1(分治思想)
768B - Code For 1 思路:类似于线段树的区间查询. 代码: #include<bits/stdc++.h> using namespace std; #define ll ...
- SDUT OJ 周赛 找有毒的那杯水(思维逻辑 + 分治思想 )
你打我啊 Time Limit: 500ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 最近看了一个非常好玩的题,如果有972杯水,其中有971个没有毒的,1个有 ...
随机推荐
- 虚拟机安装linux遇到的问题
1.运行 yum -y update,提示没有权限,改为sudo yum -y update后,提示没有已启用的仓库.网上查找发现没有yum的库,然后开始安装yum. sudo apt-get in ...
- 我们打开Podfile修改一下,以便将flutter包括在里面
platform :ios, '9.0'target 'myproject' do end #新添加的代码flutter_application_path = '../'eval(File.read( ...
- curl 和 wget 命令
1. curl curl 支持 HTTP.HTTPS.FTP 等协议,还支持 POST.cookies.认证.从指定偏移处下载部分文件.User-Agent.限速.文件大小.进度条等特征. 1.1 选 ...
- postman测试wsdl类型接口
1 IP地址来源搜索 WEB 服务 接口信息 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 2 设置接口调用地址 ...
- CSAPP:局部性原理
一个编写良好的计算机程序常常具有良好的局部性(locality).局部性通常有两种不同的形式:时间局部性(temporal locality)和空间局部性(spatial locality).在一个具 ...
- Git013--多人协作
Git--多人协作 本文来自于:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ ...
- 基于Apache搭建HTTP HTTPS
参考资料 <openssl攻略>--第一章 <Apache服务器配置与使用工作笔记>-- 第六章 第十四章 https://juejin.im/post/5a31faf2518 ...
- bash 特殊符号的含义
bash常见特殊符号及含义 linux中shell变量的含义解释
- python之----------字符编码的原理
1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编 ...
- jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法
估计是jmeter为了减轻客户机负担,就没又默认把这些信息保存,如果想要保存,也可以,需要做出如下配置: 修改bin目录下的user.properties文件,追加配置: jmeter.save.sa ...