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. Python 3.5 中的异步HTTP请求写法

    Python 3.5 增加了对async def and await的支持,同样的异步代码看起来干净了很多,也更易读. import aiohttp import asyncio async def ...

  2. Storm简介及使用

    一.Storm概述 网址:http://storm.apache.org/ Apache Storm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理 ...

  3. PDO 指南

    简介 前面咱已经见过MySQLi了,现在咱一起来看看PDO类.PDO是PHP Data Objects的缩写,它被描述为“在PHP中访问数据库的轻量级,兼容性的接口”.尽管它的名字不咋好听,但PDO是 ...

  4. LInux中ThreadInfo中的preempt_count字段

    最近看各种上下文,发现和ThreadInfo中的preemption字段密切,于是便调查了下. 看下Linux源码中的注释: /* * We put the hardirq and softirq c ...

  5. pytorch中的cat、stack、tranpose、permute、unsqeeze

    Cat 对数据沿着某一维度进行拼接.cat后数据的总维数不变. 比如下面代码对两个2维tensor(分别为2*3,1*3)进行拼接,拼接完后变为3*3还是2维的tensor. import torch ...

  6. Java compiler level does not match解决方法, java 修改编译用的jdk的方法

    从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description  Resource Path Location Type Java compiler level d ...

  7. Spark Streaming实战

    1.Storm 和 SparkStreaming区别 Storm                      纯实时的流式处理,来一条数据就立即进行处理 SparkStreaming 微批处理,每次处理 ...

  8. 练习webpack遇到的一些问题以及解决办法,供自己以后参考

    1.利用nodeJs安装webpack时报出以下错误提示: 这个错误我在网上搜了一下,说是npm文件配置问题,也就是权限不够 解决办法:npm config set registry http://r ...

  9. HTML5游戏开发系列教程6(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-6/ 这是我们最新一篇HTML5游戏开发系列文章.我们将继续使用c ...

  10. Part01、sqlalchemy 使用

    一.ORM         连表               一对多               1.创建表,主动指定外键约束.               2.操作.                 ...