C Golden gun的巧克力

Time Limit:1000MS  Memory Limit:65535K

题型: 编程题   语言: 无限制

描述

    众所周知,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!

方法1:

#include<stdio.h>
main()
{
    int n, m;
    int i, j, k, s;
    int a[10][10];
    while (1)
    {
        scanf("%d%d", &n, &m);
        if (n == 0 && m == 0)
            break;
        else
        {
            for (i = 0; i < n; i++)
                for (j = 0; j < m; j++)
                    scanf("%d", &a[i][j]);
            if (n == 1 && m == 1)
            k=0;
            else
            {
                for (i = 0; i < n; i++)
                {
                    for (j = 0; j < m - 1; j++)
                        if (a[i][j] != 0)
                        {
                            a[i][j + 1] -= a[i][j];
                            a[i][j] = 0;
                        }
                        else
                            continue;
                }
                for (i = 0; i < n - 1; i++)
                    if (a[i][m - 1] != 0)
                    {
                        a[i + 1][m - 1] -= a[i][m - 1];
                        a[i][m - 1] = 0;
                    }
                k = a[n - 1][m - 1];
            }
                if (k != 0)
                    printf("gun!\n");
                else
                    printf("yue!\n");
        }
    }
}

方法2:

#include<stdio.h>
int main()
{
    int n, m;
    int i, j, k, leap;
    int a[1000];
    int sum1 = 0, sum2 = 0;
    while (1)
    {
        scanf("%d%d", &n, &m);
        if (!n && !m)
        break;
        sum1 = sum2 = leap = 0;
        if (m % 2 == 0)
        {
            m = m + 1;
            leap = 1;
        }
        for (i = 1; i <= n * m; i++)
        {
            if (leap && i % (m) == 0)
                a[i] = 0;
            else
                scanf("%d", &a[i]);
            if (i % 2 == 0)
                sum1 += a[i];
            else
                sum2 += a[i];
        }
        if (n == 1 && m == 1)
        {
            printf("yue!\n");
            continue;
        }
        if (sum1 == sum2)
            printf("yue!\n");
        else
            printf("gun!\n");
    }
    return 0;
}

时间: 2024-10-12 03:58:06

C Golden gun的巧克力的相关文章

T7314 yyy的巧克力(钟)

题目描述 输入输出格式 输入格式: 如图 输出格式: 如图 输入输出样例 输入样例#1: 如图 输出样例#1: 如图 说明 如图 n*m-1 我们可以这样想,1*1的巧克力一定是由1*2的掰开的 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #include<queue> 7 #

P2183 巧克力(二分答案)

P2183 巧克力 题目描述 佳佳邀请了M个同学到家里玩.为了招待客人,她需要将巧克力分给她的好朋友们.她有N(1<=N<=5000)块巧克力,但是大小各不一样,第i块巧克力大小为为1*Xi(1<=i<=N,1<=Xi<=10000) 为了公平,她需要让每人所分得的巧克力大小一样,而且为了礼貌,巧克力是一整块地分给客人.所以她需要将巧克力分成大小为S的M块,而且使得S最大.但她很忙还要照顾她的客人,所以就将任务交给你了,你需要求出S. 输入输出格式 输入格式: 第一行,

巧克力(zoj 1363)

2100年,ACM牌巧克力将风靡全球. "绿的,橘红的,棕色的,红的-",彩色的糖衣可能是ACM巧克力最吸引人的地方.你一共见过多少种颜色?现在,据说ACM公司从一个24种颜色的调色板中选择颜色来装饰他们的美味巧克力. 有一天,Sandy用一大包有五种颜色的巧克力玩了一个游戏.每次他从包里拿出一粒巧克力并把它放在桌上.如果有桌上有两粒相同颜色的巧克力,他就把他们吃掉.他惊奇的发现大多数时候桌上都有2到3粒巧克力. 如果ACM巧克力有C(1≤C≤100)种颜色,在拿出了N(1≤N≤100

Gun N&#39; Rose Team Review

一看到这个项目就被他的功能给吸引了.回忆起以前看到一个东西很新奇想去网上查询它是什么,但是又不知道应该怎样去描述它,于是在搜索引擎的输入框中键入.删除.键入.删除的可笑经历的时候,我就越发感觉到这个app的必要性了.画出查询对象的大致轮廓,系统自动搜筛选出相似的图片,这个app实现了“所见即所得”,令人称赞. 当然,这个app也存在很多局限性,比如说它返回的图片数量很大,没能实现精确定位,如果能让用户在输入时添加对对象的模糊描述,比如说:不是房子,像苹果等无疑将提高搜索的准确度.另外,这个app

hdoj 3820 Golden Eggs 【双二分图构造最小割模型】

Golden Eggs Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 505    Accepted Submission(s): 284 Problem Description There is a grid with N rows and M columns. In each cell you can choose to put

uva 11383 Golden Tiger Claw (KM算法)

uva 11383 Golden Tiger Claw 题目大意:给定一个N×N的矩阵,每个格子里都有一个正整数w(i,j).你的任务是给每行确定一个整数row(i), 每列也确定一个整数col(i),使得对于格子(i,j),w(i,j)<=row(i)+col(j).所有row(i)和col(j)的总和最小. 解题思路:KM算法. #include <cstdio> #include <cstring> #include <algorithm> #include

hdu 5281 Senior&#39;s Gun

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5281 Senior's Gun Description Xuejiejie is a beautiful and charming sharpshooter. She often carries $n$ guns, and every gun has an attack power $a[i]$. One day, Xuejiejie goes outside and comes across $m

Fortran编译器之一GUN Fortran安装(Windows XP)

最近研究GIS算法,需要用到Fortran语言.在网上找了一下发现一个开源的软件GUN Fortran编译器.当然既然是编译器,就是编译出程序的,但是编辑器不包括在内.编辑器可以用Text记事本,或者是ZionEdit也可以. 一开始装GUN Fortran编译器,装完了.以为是可视化界面,结果在bin目录单击gfortran.exe一闪而过,明白这是应该用cmd命令来执行的. 首先,在“运行”中输入'cmd'进入dos命令窗.再切换至硬盘的gfortran执行程序目录.G: --> cd gf

UVa 10970 大块巧克力

https://vjudge.net/problem/UVA-10970 题意: 把一个m行n列的矩形巧克力切成mn个1×1的方块,需要切几刀. 思路: 可以考虑用动态规划的方法去做,当然,最简单的是直接找到规律,直接计算出来. 1 #include<iostream> 2 #include<algorithm> 3 #include<string> 4 #include<cstring> 5 using namespace std; 6 7 int n,