17972 Golden gun的巧克力

时间限制:1000MS  内存限制:65535K
提交次数:93 通过次数:13 收入:124

题型: 编程题   语言: G++;GCC;JAVA

Description

    众所周知,13级有尊大神Golden gun,人称根叔,简称金枪!众立志进校队的师弟如果不认识这个成功人士,我只能说太失败了!
他出手阔绰,首战夺金!由于工作关系,Golden gun坐享艺术学院所有资源,他可以自豪地说:“我要让全世界都知道!华农的艺术学
院的MM市场都让我承包了!”,据某可靠消息来源称,Golden gun的短号非常抢手,在艺术学院可谓是无人不晓。经常会有艺术学院的
MM拨打这个热线希望Golden gun大神能给MM一丢丢的时间
经常在智商上狠狠鄙视我这个弱菜师妹的成功人士Golden gun当然不会追求肤浅的外在美,而是内在美!现在请允许我用七字真言
来阐释内在美的真谛,那就是,脸好还要智商高!用一个四字词语概括:脑残退散。被艺术学院的MM们电话骚扰后,Golden gun为了认
真切题决定出手虐MM!
Golden gun让弱菜师妹出了一个题:我们定义,在一个N*M的盒子A中,每个格子的巧克力数量为Aij。MM可以在其中选择在一个格子
上加任意t个巧克力,如果有相邻(即两个格子拥有一条公共边)的情况,则必然要选择其中一个相邻的格子上加相同t个巧克力。
(注意:Aij和t都可以为负也可以为正)如果MM在任意次操作后可以把盒子上每个格子上的巧克力数量都变成0,即称为高智商白富美,
GG就会由衷的欣赏这个MM,然后…你们懂的。
那么问题来了,MM不知道自己能不能约到Golden gun,就来求助万能的师弟师妹希望预见结局,如果整盒巧克力不能成功归为零,那
么只能遗憾地输出“gun!”,如果可以的话,那就可以很高兴地输出“yue!”了。 出题人:locked_M

输入格式

测试数据有多组。
每组数据第一行两个整数N,M(1<=N,M<=5).
第二行到第N+1行,每行有M个数,每个数的取值范围是[-5000,5000].
输入以0 0结束

输出格式

如果不能成功归零,输出“gun!”,否则输出“yue!”

输入样例

2 2
0 0
1 1 2 2
1 1
1 0 0 0

输出样例

yue!
gun!

作者

201330340218

一题坑爹题,

明显如果能全部变成0的话,什么样的顺序是没关系的。可以直接模拟。

关键就是如果n == 1 && n == m的时候。

直接yue,因为没有相邻的格子。。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL; #include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
int a[][];
int n, m;
void work() {
for (int i = ; i <= n; ++i) {
for (int j = ; j <= m; ++j) {
scanf("%d", &a[i][j]);
}
}
if (n == && n == m) {
printf("yue!\n");
return;
}
for (int i = ; i <= n; ++i) {
for (int j = ; j <= m; ++j) {
if (j + <= m) {
a[i][j + ] += - a[i][j];
a[i][j] = ;
} else if (i + <= n) {
a[i + ][j] += - a[i][j];
a[i][j] = ;
}
}
}
for (int i = ; i <= n; ++i) {
for (int j = ; j <= m; ++j) {
if (i == n && j == m) continue;
if (a[i][j]) while();
// printf("%d ", a[i][j]);
}
// printf("\n");
}
if (a[n][m]) {
printf("gun!\n");
} else printf("yue!\n");
} int main() {
#ifdef local
freopen("data.txt","r",stdin);
#endif
while (scanf("%d%d", &n, &m) != EOF && n + m) {
work();
}
return ;
}

关于为什么顺序没关系,我解释下

假如从(1, 1)走到(3, 4),我们要经过的总步数是5步。假如那个数字是1,那么走到(3, 4)的时候的数字肯定是-1.不管你兜多少个圈,因为这是奇偶性的问题,哈密顿距离是奇数,那么去到这个点的步数也只能是奇数。

因为要偶数步兜一个圈。所以把她们都集中在a[n][m],结果是一样的。

标程的做法就是统计奇数步和偶数步的总数值

17972 Golden gun的巧克力的更多相关文章

  1. C Golden gun的巧克力

    Time Limit:1000MS  Memory Limit:65535K 题型: 编程题   语言: 无限制 描述 众所周知,13级有尊大神Golden gun,人称根叔,简称金枪!众立志进校队的 ...

  2. 五、Pandas玩转数据

    Series的简单运算 import numpy as np import pandas as pd s1=pd.Series([1,2,3],index=['A','B','C']) print(s ...

  3. php获取汉字的拼音 拼音首字母

    /***获取汉字的拼音*/function pinyin($s, $isfirst = false) { static $pinyins; $s = trim($s); $len = strlen($ ...

  4. Bzoj2850 巧克力王国

    Time Limit: 60 Sec  Memory Limit: 512 MBSubmit: 505  Solved: 204 Description 巧克力王国里的巧克力都是由牛奶和可可做成的.但 ...

  5. Why The Golden Age Of Machine Learning is Just Beginning

    Why The Golden Age Of Machine Learning is Just Beginning Even though the buzz around neural networks ...

  6. 10 Golden Rules of Project Risk Management

    The benefits of risk management in projects are huge. You can gain a lot of money if you deal with u ...

  7. The golden ratio: 1.618

    http://www.chinaz.com/design/2015/1109/467968_2.shtml The golden ratio: 1.618 a/b=b/(a+b) The Fibona ...

  8. 分巧克力【来源:CSDN线上编程挑战赛】——递归,费波那奇数列,迭代

    /*====================================================================== 儿童节快到了,班长想要给班上的每个同学给一个巧克力, ...

  9. hdu 5281 Senior's Gun

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5281 Senior's Gun Description Xuejiejie is a beautifu ...

随机推荐

  1. [git] csdn之code平台的使用

    简单的说一下GIT的使用.... 代码和托管平台是csdn刚出来没多久的code.csdn.net [中文的界面什么的简单点,好理解,嗯,易用....] Git 使用最新版:Git-1.8.4-pre ...

  2. apt仓库以及apt-get分析

    1 debian repository 参考:https://wiki.debian.org/DebianRepository 1.1 版本代号 sid,still in development,该版 ...

  3. 谈谈Paxos一致性算法和一致性这个名词

    转自:http://www.cnblogs.com/esingchan/p/3917718.html 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的& ...

  4. Typescript 常见写法

    一.Typescript 中数组 let list: number[] = [1, 2, 3]; let list: Array<number> = [1, 2, 3];

  5. HDU1964 Pipes —— 插头DP

    题目链接:https://vjudge.net/problem/HDU-1964 Pipes Time Limit: 5000/1000 MS (Java/Others)    Memory Limi ...

  6. oracle:block 的 water mark问题

    看了小布老师关于block里面数据存储的high water mark的实验,自己也做了一遍. SQL> create table x(i int,name varchar(20)); Tabl ...

  7. 设置linux服务器下开放端口

    查询 netstat -anp  所有开放端口信息 二.关闭端口号: iptables -A OUTPUT -p tcp --dport 端口号-j DROP 三.打开端口号: iptables -A ...

  8. [Selenium] Automation Test Manual(Selenium)

    http://www.cnblogs.com/puresoul/p/3483055.html http://www.360doc.com/content/14/0913/10/13497042_409 ...

  9. 你真的会使用assert吗?

    写这篇博客源于在阅读lighttpd源代码是遇到的一个关于assert应用的疑问. 在阅读lighttpd源代码时,发现比比皆是的对malloc的调用结果进行assert检查,比如:Buffer.c: ...

  10. MySQL_详细基本操作命令

    mysql 修改新密码:use mysql:update user set password='新密码' where user='用户名':flush privileges:  更新权限 增加新用户: ...