300英雄代练价格都大概多少啊?

《300英雄》

LindaSmith. LindaSmith.
回答
  • 慕寒 慕寒

    int sudoku[81];数独题目阵列
    int tempnum[81];上一次填数位置
    int tempsp=0;上一次填数位置指标
    int starth[81];列位置的起点
    int startv[81];行位置的起点
    int startb[81];九宫格位置的起点
    int addh[9];列位置的加值
    int addv[9];行位置的加值
    int addb[9];九宫格位置的加值
    void init(){
    参数设定(设定这些参数之后,无论检查行、列、九宫格都方便多了)
    int i;for(i=0;i;i+){
    starth[i]=i/9*9;列位置的起点
    startv[i]=i%9;行位置的起点
    startb[i]=((i/9)/3)*27+((i%9)/3)*3;九宫格位置的起点
    }
    for(i=0;i;i+){
    addh[i]=i;列位置的加值
    addv[i]=i*9;行位置的加值
    addb[i]=(i/3)*9+(i%3);九宫格位置的加值
    }
    }
    void printsudoku(int*prn){
    印出数独题目(阵列内容)
    int i;for(i=0;i;i+){
    printf("%2d",prn[i]);if(i%9=8)printf("\n");}
    }
    int getnextblank(int sp){
    取得下一个空白的位置
    do {
    sp+;} while(sp[sp]>0);return(sp);}
    int check1(int sp,int start,int*addnum){
    检查指定的行、列、九宫格有没有相同的数字,若有传回 1
    int fg=0,i,sp1;for(i=0;i;i+){
    sp1=start+addnum[i];if(sp!sp1&sudoku[sp]=sudoku[sp1])fg+;}
    return(fg);}
    int check(int sp){
    检查同行、列、九宫格有没有相同的数字,若有传回 1
    int fg=0;if!fg)fg=check1(sp,starth[sp],addh);检查同列有没有相同的数字
    if!fg)fg=check1(sp,startv[sp],addv);检查同行有没有相同的数字
    if!fg)fg=check1(sp,startb[sp],addb);检查同九宫格有没有相同的数字
    return(fg);}
    void push(int sp){
    将指定的位置放入堆叠中
    tempnum[tempsp+]=sp;}
    int pop(){
    取出堆叠中的上一个位置
    if(tempsp)return(-1);else return(tempnum[-tempsp]);}
    void tryans(){
    测试求解
    int sp=getnextblank(-1);取得第一个空白的位置开始填入数字
    do {
    sudoku[sp]+;将本位置数字加 1
    if(sudoku[sp]>9){/如果本位置的数字已大于 9 时则回到上一个位置继续测试
    sudoku[sp]=0;sp=pop();} else {
    if(check(sp)=0){/如果同行、列、九宫格都没有相同的数字,则到下一个空白处继续
    push(sp);当然,如果发现有相同的数字时,就需把原位置的数字加 1(所以本处什么都不做)
    sp=getnextblank(sp);}
    }
    } while(sp>=0&sp);}
    int main(int argc,char*argv[]){
    int j;printf("-\n");printsudoku(sudoku);init();参数设定
    tryans();测试求解
    printf("-\n");printsudoku(sudoku);printf("-\n");}

类似问答
精品推荐

友情链接

友链互换QQ:

谷财 备案编号:蜀ICP备11019336号-3商务合作:235-677-2621

Copyright 2009-2020 Chengdu Sanzilewan Technology Co.,Ltd all rights reserve

抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活