分析2小程序的算法

分析2小程序的算法,第1张

没什么好难的,只是分给得有点低哈

给你加上注释就很清楚了.

第一题:2255

#include <iostream>

using namespace std

char first[27]//存前序遍历

char middle[27]//存中序遍历

struct node //树的结点

{

char a

node *left,*right//树的左右子树

}

int pos(char x,int i) //找睁桐罩这x点在中序队列的位置

{

int j

for(j=ij<strlen(middle)j++)

{

if(middle[j]==x)

return j

}

}

void Creat(node **root,int i,int j,int k) //根据前中序建树

{

int m,leftlen,rightlen

if(k<=0)

*root=NULL

else

{

*root=new node

(*root)->a=first[i]//前序序列的第i结点

m=pos(first[i],j)//找这点在中序队列的位置

leftlen=m-j//左子树的长度

rightlen=k-leftlen-1//石子树的长度

Creat(&((*root)->left),i+1,j,leftlen)//递归建左子树

//i+1 该结点的左子树结点的位置,j标记找这点在中序队列的位置时从哪个点找起

Creat(&((*root)->right),i+leftlen+1,m+1,rightlen)//递归建右子树

//i+leftlen+1 是指该结点的右子树结点的位置,m+1同上

}

}

void Post(node **root) //后序遍历输出,递归

{

if((*root)==NULL) return

else

{

Post(&((*root)->left))//先找左子树

Post(&((*root)->right))//再找右子树

cout<<(*root)->a//最后输出根

}

}

int main()

{

while(scanf("%s %s",first,middle)!=EOF){

node *root

Creat(&root,0,0,strlen(first))//根据前中序建树,最参数为树的长度

Post(&root)//后序遍历输出

cout<<endl

}

return 0

}

//--------------------------------------------------------------------

第二题:2260

#include<stdio.h>

int main()

{

int n,i,j,sumc,sumr,keyc,keyr,sr,sc

int matrix[100][100]

while(scanf("%d",&n)&&n)

{

sr=0//行标记

sc=0//列标记

for(i=0i<ni++)

{

sumr=0//行,出始SUM

for(j=0j<nj++)

{

scanf("%d",&matrix[i][j])//读入每行

sumr+=matrix[i][j]//计算行SUM

}

if(sumr%2!=0) //如果是奇数

{

keyr=i+1/悉闹/那么记录一下这一行的行号,+1是喜欢这里是0开始算,题目是一开始算

sr++//行的记录轮凳值+1

}

}

if(sr>1) //如果有一行是奇数的,那么就Corrupt

{

printf("Corrupt\n")

continue

}

for(j=0j<nj++)

{

sumc=0//列,出始SUM

for(i=0i<ni++)

sumc+=matrix[i][j]//计算列SUM

if(sumc%2!=0) //如果是奇数

{

keyc=j+1//那么记录一下这一行的列号

sc++//列的记录值+1

}

}

if(sc==0&&sr==0) //如果记录值都没变,每行每列的SUM都为偶数

printf("OK\n")//那么就打出OK

else if(sc==1&&sr==1) //如果有一行和一列都为1次记录,即有一行和一列SUM为奇

printf("Change bit (%d,%d)\n",keyr,keyc)//那么改变这一点就OK了

else printf("Corrupt\n")//否则就只好Corrupt了

}

}

微信小程序扫码识别率的高低受到多种因素的影响,以下是一些可能影响微信小程序扫雀察码识别率的因素:

1. 扫码设备:不同的手机摄像头品质、对焦能力、拍摄距离等因素都可能影响扫码识别率,建议使用拍照效果较好的手机进行扫码。

2. 扫码环境:光线、反光、背景色等环境因素都可能影响扫码识别率,建议在光丛扒线较好、无反光、背景色较为单一的环境下进行扫码。

3. 二维码质量:二维码质量不好、模糊、变形等因素也会影响扫码识别率,建议使用清晰、鲜明的二维码进行扫码。

4. 识别算法:微信小程序使用的识别算法也会影响扫码识别率,不同版本的微信识别算法可能会有所不同。

需要注意的是,扫码识别率不是百分之百的,不同情况下可能会有一定的误差。如果扫码识别率较低,可以尝试调整扫码设备渗岁昌、扫码环境、二维码质量等因素,或者尝试使用其他的扫码工具进行识别。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12448315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存