Board

小A买彩票

https://ac.nowcoder.com/acm/contest/5803/A

Board这题我一开始用的思路是找出待求元素所在行和列的最小值再相加,这种思路只能通过了14%的数据。后来越想越复杂,然后就写不出了😂,直到今天我再来看此题时猛然发现这是一个思维题。我看了题解区发现题解区的思路是对的,但是代码存在问题,他们的代码过不了当-1的位置是(0,n-1)的这种情况,至于为什么能ac,可能是因为测试数据有点水。
我的思路全在图里
图片说明

按照这种思路便可推出其他的情况
接下来是菜鸡的ac代码,有问题还请直接指出。

#include<stdio.h>

int n,a[1005][1005] = {0},x,y;

int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
            if(a[i][j] == -1) {
                x = i;
                y = j;
            }
        }
    }
    if(x == n-1) {
        if(y == 0) printf("%d",a[x-1][y] + a[x][y+1] - a[x-1][y+1]);
        else printf("%d",a[x-1][y] + a[x][y-1] - a[x-1][y-1]);
    }
    else if(y == n-1){
        if(x == 0) printf("%d",a[x+1][y] + a[x][y-1] - a[x+1][y-1]);
        else printf("%d",a[x-1][y] + a[x][y-1] - a[x-1][y-1]);
    }
    else printf("%d",a[x+1][y] + a[x][y+1] - a[x+1][y+1]);
    return 0;
/*
3
1 0 -1
2 1 2
3 2 3
题解区的代码过不了这组代码(手动滑稽)
*/
} 
全部评论

相关推荐

夏目LTH:这个真的很看运气,多投吧。我从去年十二月底一直投到现在,之前没一个offer,结果两周前投的一家面试官聊的特别好,直接速通offer还给的SP待遇开的比我期望都够。
我的求职进度条
点赞 评论 收藏
分享
牛客29046817...:优化一下简历,突出重点,简历上的技能复习扎实,实习工作啥的整理成文档梳理一下怎么说要有自己的思考在里边,岗位的话运维,测试,开发,实施,技术支持能投的都投,多投递能找到的,秋招投递了3个月左右(8月中旬到11月下旬),boos打招呼8000多次,官网投递300多家,才找到一家满意的
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务