View Code of Problem 4062

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stdbool.h>
typedef struct{
	char name[20];
	int flag;
}Children;
int cmp(const void *a,const void *b){
	return *(int*)a-*(int*)b;
}
int main(){
	int n;
	char a[1010];
	char b[1010];
	int k;
	scanf("%d",&n);
	while(n--){
		scanf("%s",&a);
		scanf("%s",&b);
		int len=strlen(a);
		int lenax=0,lenay=0,lenbx=0,lenby=0;
		for(int i=0;i<len;i++){
			if(a[i]=='x'){
				lenax++;
			}else if(a[i]=='y'){
				lenay++;
			}
			if(b[i]=='x'){
				lenbx++;
			}else if(b[i]=='y'){
				lenby++;
			}
		}
		scanf("%d",&k);
		int count=0;
		for(int i=0;i<len;i++){
			if(a[i]!=b[i]){
				count++;
			}
		}
		if(count%2==0){
			if(count==2){
				int num=0;
				for(int i=0;i<len;i++){
					if(a[i]=='x'&&b[i]=='y'){
						num++;
					}
				}
				if(num==0||num==2){
					count=2;
				}else{
					count/=2;
				}
				if(count<=k){
					printf("YES\n");
				}else{
					printf("NO\n");
				}
			}else{
				count/=2;
				if(k>=count){
					printf("YES\n");
					
				}else{
					printf("NO\n");
				}
			}
		}else{
			printf("NO\n");
		}
	}
} 




	

Double click to view unformatted code.


Back to problem 4062