蓝桥杯 c语言带分数,【蓝桥杯】带分数

1、搜索题,注意剪枝,尤其是对位数的判定,这个是剪枝的关键。

2、if(upnum+leftnum+downnum>9) break;这句话要写两次,想想为什么。

#include #include using namespace std; int flag[10],flag1[10]; int check(int n,int &cnt){  while(n){   flag[n%10]++;   n/=10;                 cnt++;  }  if(flag[0]>0) return 1;  for(int i=1;i<=9;i++)      if(flag[i]>1) return 1;  return 0; } bool Allright(){  for(int i=1;i<10;i++)      if(!flag[i]) return false;  return true; } int main(){  int num,ans=0,count=0;  scanf("%d",&num);  for(int left=1;left9) break;                              continue;                         }                         if(upnum+downnum+leftnum>9) break;    if(Allright()) count++;   }  }  printf("%d\n",count);  return 0; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值