题解:UVA13026 Search the Khoj

· · 题解

UVA13026 Search the Khoj 题解

洛谷传送门

UVA传送门

题目大意

第一行输入一个整数 n。后面 n 行,每行一个号码,同一组数据里的号码位数相同,每组数据最后再输入一个号码,输出前 n 个号码中与最后一个号码相差不超过一个字符的所有号码。

有 T 组数据。

题目思路

需要按照题目要求判断两个号码是否相似。设最后输入的字符串为 s,前面第 i 个输入的字符串为 a_i。设计数器 ans。则我们对比第

判断函数: ```cpp bool pd(string x,string y){//判断 int b=0; for(int i=0;i<x.size();i++){ if(x[i]!=y[i]) b++; } return b<2; } ``` ### AC Code ```cpp #include<bits/stdc++.h> using namespace std; int n,t; string a[200],s; bool pd(string x,string y){//判断 int b=0; for(int i=0;i<x.size();i++){ if(x[i]!=y[i]) b++; } return b<2; } signed main(){ cin>>t; for(int i=1;i<=t;i++){//多组数据 cin>>n; for(int j=1;j<=n;j++) cin>>a[j]; cin>>s; printf("Case %d:\n",i); for(int j=1;j<=n;j++){ if(pd(s,a[j])) cout<<a[j]<<endl;//输出 } } return 0;//华丽结束 } ```