CodeForces 42C Safe cracking 规律题
题目链接:点击打开链接
3个数为一组,找最大的一个数让它降低,则显然是有解的,分类讨论一下就可以
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
int n, k;
int a[4];
vector<pair<int,int> >ans;
int maxpos(){
int pos = 0;
for(int i = 1; i < 4; i++)
if(a[pos]<a[i])pos = i;
return pos;
}
void chu(int pos){
a[pos] >>= 1; a[(pos+1)%4] >>= 1;
ans.push_back(pair<int,int>(0, pos));
}
void ADD(int pos){
a[pos] ++; a[(pos+1)%4] ++;
ans.push_back(pair<int,int>(1, pos));
}
int main(){
while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
ans.clear();
int pos, siz = 0;
while(1){
pos = maxpos();
if(a[pos]==1)return true;
int l = pos-1; if(l<0)l = 3;
int r = pos+1; if(r>3)r = 0;
if(a[pos]&1){
if(a[l]&1)
{
ADD(l);
chu(l);
}
else if(a[r]&1)
{
ADD(pos);
chu(pos);
}
else {
ADD(pos);
chu(l);
}
}
else {
if((a[l]&1)==0)
{
chu(l);
}
else if((a[r]&1)==0)
{
chu(pos);
}
else {
ADD(l); ADD(pos);
chu(l);
}
}
}
for(int i = 0; i < ans.size(); i++)
printf("%c%d\n", ans[i].first?'+':'/', ans[i].second+1);
}
return 0;
}
CodeForces 42C Safe cracking 规律题的更多相关文章
- Codeforces 480B Long Jumps 规律题
题目链接:点击打开链接 题意: 输出n l x y 有一根直尺长度为l 上面有n个刻度. 以下n个数字是距离开头的长度(保证第一个数字是0,最后一个数字是l) 要使得 直尺中存在某2个刻度的距离为x ...
- Codeforces - 规律题 [占坑]
发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C ...
- LightOJ1010---Knights in Chessboard (规律题)
Given an m x n chessboard where you want to place chess knights. You have to find the number of maxi ...
- ACM_送气球(规律题)
送气球 Time Limit: 2000/1000ms (Java/Others) Problem Description: 为了奖励近段时间辛苦刷题的ACMer,会长决定给正在机房刷题的他们送气球. ...
- hdoj--1005--Number Sequence(规律题)
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Codeforces#441 Div.2 四小题
Codeforces#441 Div.2 四小题 链接 A. Trip For Meal 小熊维尼喜欢吃蜂蜜.他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C ...
- You Are Given a Decimal String... CodeForces - 1202B [简单dp][补题]
补一下codeforces前天教育场的题.当时只A了一道题. 大致题意: 定义一个x - y - counter :是一个加法计数器.初始值为0,之后可以任意选择+x或者+y而我们由每次累加结果的最后 ...
- codeforces 1165F1/F2 二分好题
Codeforces 1165F1/F2 二分好题 传送门:https://codeforces.com/contest/1165/problem/F2 题意: 有n种物品,你对于第i个物品,你需要买 ...
- Codeforces 959E. Mahmoud and Ehab and the xor-MST 思路:找规律题,时间复杂度O(log(n))
题目: 解题思路 这题就是0,1,2...n-1总共n个数字形成的最小生成树. 我们可以发现,一个数字k与比它小的数字形成的异或值,一定可以取到k与所有正整数形成的异或值的最小值. 要计算n个数字的情 ...
随机推荐
- 在where子句中经常使用的运算符
比较运算符 > < <= >= = <> 大于.小于.大于(小于)等于.不等于 BETWEEN ...AND... 显示在某一区间的值 IN ...
- Linux的内存映像导出接口—kcore
发表于 2012-4-10 15:00 /proc/kcore文件提供了整个机器的内存映像,和vmcore不同的是,它提供了一个运行时的内存映像,为此和vmcore一样,内核提供了一个类似的但是稍 ...
- visio扩大画布的大小
鼠标移到画布的边界按住Ctrl,即可扩大画布的大小
- jquery tmpl 详解(转)
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...
- Windows2008 R2下,应用程序池 'XXXXXXXX' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。
转:http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.html http://www.hack001.com/post/151
- poj 3691 DNA repair(AC自己主动机+dp)
DNA repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5877 Accepted: 2760 Descri ...
- js ~取非运算符的妙用,将-1转为0(或假值)
典型的运用场景就是indexOf
- H5 input 聚焦 置顶
myFocus (e) { this.active = true function getElementTop(element){ try { var actualTop = element.offs ...
- with(上下文的用法)以及其他知识点
一.上下文 class Sxw(object): def __enter__(self): '''进入''' print("你好啊") def __exit__(self, exc ...
- atitit.窗体静听esc退出本窗体java swing c# .net php
atitit.窗体静听esc退出本窗体java swing c# .net php 1. 监听esc 按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗体 2 1. ...