首页 > 其他分享 >螺旋方阵-运行超时:在最后一个数字,掉入死循环

螺旋方阵-运行超时:在最后一个数字,掉入死循环

时间:2023-11-13 21:11:06浏览次数:36  
标签:dx int ++ num th dy 超时 掉入 死循环

#include <stdio.h>
#define MAX 13
// all index starts from 1 not 0
int a[MAX][MAX]={0};
// x->line ; y->column
// null right down left up
int dx[5]={-99,0,1,0,-1};
int dy[5]={-99,1,0,-1,0};
int n;
void init(){
    for(int j=1;j<=n;j++)
        a[0][j]=a[n+1][j]=-1;
    for(int i=1;i<=n;i++)
        a[i][0]=a[i][n+1]=-1;
}
void show(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
            printf("%3d",a[i][j]);
        puts("");
    }
}
int main(){
    scanf("%d",&n);
    // initialize as -1 and 0
    init();
    int x=1,y=1,num=1;
    // direction changes
    for(int i=0;1;i++){
        int th=i%4+1;
        while(1){
            a[x][y]=num;
            if(a[x+dx[th]][y+dy[th]]!=0)
                break;
            //a[x][y]=num++; 错误
            num++;
            x+=dx[th];
            y+=dy[th];
        }
        // num>n*n 错误
        if(num>=n*n)
            break;
    }
    show();
    return 0;
}

标签:dx,int,++,num,th,dy,超时,掉入,死循环
From: https://www.cnblogs.com/kkkrran/p/17830197.html

相关文章

  • 软件测试|解决Github port 443 : Timed out连接超时的问题
    前言GitHub是全球最大的开源代码托管平台之一,许多开发者和团队使用它来管理和协作开源项目。但在当下,我们在clone或者提交代码时会经常遇到"GitHubPort443:TimedOut"错误,这意味着我们的电脑无法建立与GitHub服务器的安全连接。这个问题通常由网络问题或防火墙设置引起。在本文......
  • 国内各大外卖平台配送超时扣款规则 All In One
    国内各大外卖平台配送超时扣款规则AllInOne规则非常不合理,霸王条款,平台垄断行为elm(上海)处罚场景:当普通众包配送外卖单,因即时单超时送达产生配送超时罚单时,将按如下处罚违规行为处罚超时送达在(0,5)分钟,扣该笔订单配送收入的10%10%配送费超时送达在[5,10......
  • 【openfeign】OpenFeign的扩展、日志、超时时间、拦截器、客户端组件、压缩
    Feign的日志配置有时候我们遇到Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置Feign的日志了,以此让Feign把请求信息输出来。全局配置定义一个配置类,指定日志级别:packagecom.morris.user.config;importfeign.Logger;importorg.springframework.context.a......
  • 线上SQL超时场景分析-MySQL超时之间隙锁
    前言之前遇到过一个由MySQL间隙锁引发线上sql执行超时的场景,记录一下。背景说明分布式事务消息表:业务上使用消息表的方式,依赖本地事务,实现了一套分布式事务方案消息表名:mq_messages数据量:3000多万索引:create_time和statusstatus:有两个值,1和2,其中99%以上的状态都是2,表......
  • 你还在为SFTP连接超时而困惑么? | 京东云技术团队
    1.前言在最近的项目联调过程中,发现在连接上游侧SFTP时总是需要等待大约10s+的时间才会出现密码输入界面,这种长时间的等待直接导致的调用文件接口时连接sftp超时问题。于是决定自己针对该问题进行一下排查,查询了相关资料,并逐个试验了一下网上提供的解决方案,然后在文章中详细记录问......
  • 你还在为SFTP连接超时而困惑么?
    1.前言在最近的项目联调过程中,发现在连接上游侧SFTP时总是需要等待大约10s+的时间才会出现密码输入界面,这种长时间的等待直接导致的调用文件接口时连接sftp超时问题。于是决定自己针对该问题进行一下排查,查询了相关资料,并逐个试验了一下网上提供的解决方案,然后在文章中详细记录......
  • GuzzleHttp 超时后处理
     publicfunctionhttpTest(){$url="自己可以写一个模拟地址,例如下面的httpTest2先让他挂起一定的时间,timeout设置超时时间,如果超过timeout的时间会自动抛出异常,去发短信等...";$client=newClient();try{$respo......
  • Android Studio 下载Gradle 超时解决方案
    错误提示1、卡在Gradle:Downloadhttps://services.gradle.org/distributions/gradle-3.2-all.zip不动。2、提示Error:Connectiontimedout:connect。  解决方案:1、手动下载gradle.zip文件打开项目里gradle\wrapper\gradle-wrapper.properties这个文件,找到类似于下面的这一......
  • TCP协议:超时重传、流量控制、keep-alive和端口号,你真的了解吗?
    引言在之前的讲解中,我们已经介绍了TCP协议的一些面试内容,相信大家对于TCP也有了一些新的了解。今天,我们将继续深入探讨TCP的超时重传、流量控制、TCP的keepalive机制以及端口号等相关信息。这些内容对于理解TCP协议的工作原理和实际应用非常重要,希望可以加深大家对TCP协议的理解......
  • QSerialPort waitForReadyRead有数据却超时问题
    工作中用到Qt串口通讯,使用方法很简单,网上很多都使用的是异步(信号槽)方式,这里记录一下同步方式调用waitForReadyRead阻塞后,明明发送数据却还是返回超时问题。这里说的是以ASCII形式发送,也就是常见的ABCD字符十六进制形式发送waitForReadyRead会立即响应,目前还没查到具体原因。......