static bool checkpass(char *pass) { /*Check the password, FUNCTIONS ORDER FOR SPEED*/ /*There can be no more than two consecutive identical characters*/ // for(byte i=0; i<8; i++) // { // if(pass[i]==pass[i+1]) // { // i++; // if(pass[i]==pass[i+1]) // return 0; // } // } /*There can be no more than 5 characters A-F and 9 numbers*/ byte charactersAF=0,numbers=0; for(byte i=0; i<10; i++) (pass[i]>='A' && pass[i]<='F') ? charactersAF++ : numbers++; if((charactersAF>5)||(numbers>9)) return 0; /*There can be no more than three identical characters*/ for(byte i=0; i<16; i++) if(countc(pass, characters[i])>3) return 0; /*if the password is valid than return true/1*/ return 1; }
int main() { int i,j,t; char a[100001],b[100001]; scanf("%d",&t); for(j=0;j<t;j++) { scanf("%s",a); scanf("%s",b); countc(a,b); for(i=0;i<26;i++) { if((x1[i]==x2[i])&&(x1[i]!=0)) { printf("YES\n"); break; } } if(i==26) printf("NO\n"); } return 0; }
void codegen(xJIT *xjit) { xOperand *pputc, *pgetc, *stack; char c; const void *code; int lstack[100], *lcur = lstack, lno = 0; pputc = rbx; pgetc = rbp; stack = r12; push(rbx); push(rbp); push(r12); mov(pputc, rdi); /* putchar */ mov(pgetc, rsi); /* getchar */ mov(stack, rdx); /* stack */ while (~(c = getchar())) { switch (c) { case '+': case '-': { int cnt; cnt = countc(c); if (cnt == 1) { c == '+' ? inc(dword(stack)) : dec(dword(stack)); } else { addi(dword(stack), c == '+' ? cnt : -cnt); } } break; case '>': case '<': { int cnt; cnt = countc(c); addi(stack, 4 * (c == '>' ? cnt : -cnt)); } break; case '.': { mov(rdi, dword(stack)); call(pputc,XJIT_CALL_OPERAND); } break; case ',': { call(pgetc,XJIT_CALL_OPERAND); mov(dword(stack), eax); } break; case '[': { L(numl(lno, 'B')); /* backward label */ mov(eax, dword(stack)); test(eax, eax); jz(numl(lno, 'F'), XJIT_LABEL_NEAR); *lcur++ = lno++; } break; case ']': { int no; no = *--lcur; jmp(numl(no, 'B'), XJIT_JMP_LABEL); L(numl(no, 'F')); /* forward label */ } break; default: break; } } pop(r12); pop(rbp); pop(rbx); ret(); }