2017-08-22 10:54:00

writer:pprp

题意如下:

给你6个数组,你的操作可以是更改某一位的数字成为0-9之间任意一个数,要求前三个数字的和与后三个数字的和相等。

问你最少用几步就可以完成?

分析:这个题太过武断的理解题目了,更改了两次方向才理解正确题目的意思;

一开始理解成只能增加某一位数,

后来比赛以后看了数据,然后理解成能增加或者减少

但是两个理解都不对

应该是每次都可以增加或者减少,大的数组应该减小,小的数组应该增大

贪心的去做

Wa了7次,WA到怀疑人生,最后总算是根据数据漏洞完成写出来AC代码

/*
theme:Luba and The Ticket
writer:pprp
description:审题有问题,可以随意改动一个数,使之变为0-9
自己一开始理解成只能增或者只能减,算法设计失误,重新设计,考虑到小的数组增加和大的数组减小
综合两种情况进行讨论
date:2017/8/22
*/ #include <bits/stdc++.h> using namespace std; int a[], b[]; int main()
{
int ans = ; for(int i = ; i <= ; i++)
scanf("%1d",&a[i]);
for(int i = ; i <= ; i++)
scanf("%1d",&b[i]); int sum1 = , sum2 = ; sort(a+,a+);
sort(b+,b+); for(int i = ; i < ; i++)
{
sum1 += a[i+];
sum2 += b[i+];
} //如果两个数组值恰好相等,直接输出0
if(sum1 == sum2)
{
cout << << endl;
return ;
} ans++; //如果数组a 的和大于数组b的和
if(sum1 > sum2)
{
int i = ;
int j = ;
int cha = abs(sum1 - sum2); //sum的差值如果大于两种情况并且指针j没有越界
while(cha > a[i] && cha > - b[j] && j <= )
{
ans++;
//如果大的数组减小幅度大于小的数组上升幅度,选择大的数组
if(a[i] > - b[j])
{
sum1 -= a[i];
cha = cha - a[i];
i--;
}
else
{
sum2 += - b[j];
cha = cha - + b[j];
j++;
}
}
}
else if(sum1 < sum2)
{
int i = ;
int j = ;
int cha = abs(sum1 - sum2); while(cha > b[i] && cha > - a[j] && j <= )
{
ans++;
if(b[i] > - a[j])
{
sum1 -= b[i];
cha -= b[i];
i--;
}
else
{
sum2 += ( - a[j]);
cha -= ( - a[j]);
j++;
}
}
} cout << ans << endl; return ;
}

codeforces 484B - LubaAndTicket - 贪心的更多相关文章

  1. Codeforces 484B Maximum Value(高效+二分)

    题目链接:Codeforces 484B Maximum Value 题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj 解题思路:类似于素数筛选法的方式,每次枚举aj,然 ...

  2. CodeForces - 158B.Taxi (贪心)

    CodeForces - 158B.Taxi (贪心) 题意分析 首先对1234的个数分别统计,4人组的直接加上即可.然后让1和3成对处理,只有2种情况,第一种是1多,就让剩下的1和2组队处理,另外一 ...

  3. codeforces 724D(贪心)

    题目链接:http://codeforces.com/contest/724/problem/D 题意:给定一个字符串和一个数字m,选取一个一个子序列s,使得对于字符串中任意长度为m的子序列都至少含有 ...

  4. Codeforces 626G Raffles(贪心+线段树)

    G. Raffles time limit per test:5 seconds memory limit per test:256 megabytes input:standard input ou ...

  5. Cut 'em all! CodeForces - 982C(贪心dfs)

    K - Cut 'em all! CodeForces - 982C 给一棵树 求最多能切几条边使剩下的子树都有偶数个节点 如果n是奇数 那么奇数=偶数+奇数 不管怎么切 都会有奇数 直接打印-1 贪 ...

  6. CodeForces - 940E - Cashback +贪心+DP

    传送门:CodeForces - 940E - Cashback 题意:在一个长度为n的数组中,可以分出长度为 k 连续的多个数组b(每个数组 b 的 k 可不相同),然后,可以对每个数组 b 进行删 ...

  7. Codeforces 515C 题解(贪心+数论)(思维题)

    题面 传送门:http://codeforces.com/problemset/problem/515/C Drazil is playing a math game with Varda. Let’ ...

  8. CodeForces 485C Bits[贪心 二进制]

    C. Bits time limit per test1 second memory limit per test256 megabytes inputstandard input outputsta ...

  9. codeforces 732E(贪心)

    题目链接:http://codeforces.com/contest/732/problem/E 题意:有n台计算机,m个插座,每台计算机有一个值a[i],每个插座有一个值b[i],每个插座最多只能对 ...

随机推荐

  1. Spring Data 增删改查事务的使用(七)

    @Modifying 注解使用 @Modifying 结合 @Query注解进行更新操作 咱们单单的一个查询注解是没有办法完成事务的操作的 我们还要结合一点就是@Transaction 在spring ...

  2. 解决从Windows拷贝来的文件到Ubuntu出现乱码的问题

    1.转换文件内容编码    Windows下天生的纯文本文件,其中文编码为GBK,在Ubuntu下显示为乱码,可以使用iconv命令进行转换:    iconv -f gbk -t utf8 sour ...

  3. python基础-第六篇-6.2模块

    python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ ...

  4. 剑指Offer——数组中重复的数字

    题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度 ...

  5. UVA11426 GCD - Extreme (II)---欧拉函数的运用

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. Python并行编程(六):线程同步之条件

    1.基本概念 条件指的是应用程序状态的改变.其中某些线程在等待某一条件发生,其 他线程会在该条件发生的时候进行通知,一旦条件发生,线程会拿到共享资源的唯一权限. 2.示例代码 from threadi ...

  7. Django logging模块

    一.Django logging配置 1.在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log" ...

  8. 金融量化ushare模块

    一.介绍 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们 ...

  9. visual studio 2015开发nodejs教程1搭建环境

    http://sailsdoc.swift.ren/ 这里有 sails中文文档 1 安装nodejsv6.10.3 下载地址  https://nodejs.org/dist/v6.10.3/nod ...

  10. MySQL5.7密码安全策略(转)

    环境介绍:CentOS 6.7 MySQL版本:5.7.11 1.查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';参数解释:1 ...