首页 > 代码库 > C Golden gun的巧克力

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 20 01 12 21 1 1 00 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");        }    }}
View Code

方法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;}
View Code

 

C Golden gun的巧克力