2855. 贪吃蛇

Supertino

有没有第二个一直卡住的…你试试2 2 0 .1 1.这个数据就知道了

10175102262 LarsPendragon

switch和goto让人懒惰(跑

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int h, w, t, map[100][100]={{0}}, f=0, g=1,  life=0, x=0, y=0;//f,g is for computing fibnacci array
    char s;
    cin>>h>>w>>t;
    getchar();
    for(int i=0; i<h; i++)//read the map
    {
        for(int j=0; j<w; j++)
        {
            s=getchar();
            if(s=='.') s='0';
            map[i][j]=s-'0';
        }
        getchar();
    }
    w--;
    h--;
    for(int i=0; i<=t; i++)
    {
        switch (f)
            {
            case 0:
            change:
                if(x)
                {
                    life+=map[x--][y];
                    break;
                }
            case 1:
                if(y<w)
                {
                    life+=map[x][y++];
                    break;
                }
            case 2:
                if(x<h)
                {
                    life+=map[x++][y];
                    break;
                }
            case 3:
                if(y)
                {
                    life+=map[x][y--];
                    break;
                }
            goto change;
        }
        f+=g;
        g=f-g;//compute fibnacci array
        f%=4;
        g%=4;
    }
    cout<<life<<endl;
    return 0;
}

(大概是我这辈子第一次也是最后一次用goto

你当前正在回复 博客/题目
存在问题!