Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 3
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();
}