Beispiel #1
0
int main(void){
	int i,B,temp;
	char newx[30],num[10];
	freopen("palsquare.in","r",stdin);
	freopen("palsquare.out","w",stdout);
	scanf("%d",&B);
	for(i=1;i<=300;i++){
		temp = i*i;
		ttoB(num,i,B);
		reverse(num);
		ttoB(newx,i*i,B);
		if(judge(newx))
			printf("%s %s\n",num,newx);
	}
	return 0;
}
Beispiel #2
0
int main()
{
	int l = 1, r = 0, ans;
	n = in();
	for (int i = 1; i <= n; i++)a[i] = in(), r += a[i], r = min(r, 250000);
	while (l <= r)
	{
		int mid = (l + r) >> 1;
		//judge==0:ans不能让将军满意,需要扩大范围
		//judge==1:可以让将军满意,通过二分缩小能让其满意的范围
		if (judge(mid))r = mid - 1, ans = mid;
		else l = mid + 1;
	}
	printf("%d", ans);
	return 0;
}
Beispiel #3
0
/**
 * Start virtual judger
 */
void VirtualJudger::run() {
  log("Judger started");
  initHandShake();
  while (true) {
    socket->receiveFile(tmpfilename);
    Bott * bott = new Bott(tmpfilename);
    log((string) "Received a new task, problem: " + bott->Getvid() + ".");
    string result_filename = Bott::RESULTS_DIRECTORY +
        intToString(bott->Getrunid());
    if (bott->Gettype() == NEED_JUDGE) {
      // Currently for vjudge, only NEED_JUDGE is supported
      try {
        if (bott->Getsrc().length() < MIN_SOURCE_LENGTH) {
          // source code too short, may cause problem in remote OJ, such as PKU
          bott->Setout_filename(result_filename);
          generateSpecialResult(bott, "Compile Error");
          bott->Setce_info("Source code too short, minimum length: " +
              intToString(MIN_SOURCE_LENGTH));
          bott->save();
        } else {
          judge(bott, result_filename);
        }
      } catch (Exception & e) {
        // Exception occurs, set to Judge Error
        log((string) "Judge error! Reason: " + e.what());

        // reuse bott file
        bott->Setout_filename(result_filename);
        generateSpecialResult(bott, "Judge Error");
        bott->save();
      } catch (exception & e) {
        // Exception occurs, set to Judge Error
        log((string) "Judge error! Reason: " + e.what());

        // reuse bott file
        bott->Setout_filename(result_filename);
        generateSpecialResult(bott, "Judge Error");
        bott->save();
      }
      delete bott;
    } else {
      delete bott;
      throw Exception("Type not supported.");
    }
    socket->sendFile(result_filename);
  }
}
Beispiel #4
0
void judge(int n){
	if (n == 1){
		isbvalid = true;
		return ;
	}

	int i;
	for(i = 1; i <= 100; ++i){
		if (record[i] == 0 && n % i == 0){
			n /= i;
			record[i] = 1;
			judge(n);
			n *= i;
			record[i] = 0;
		}
	}
}
Beispiel #5
0
int main () {
	scanf("%s%d", s, &n);

	len = strlen(s);

	if (n >= len) {
		printf("%d\n", (n + len) / 2 * 2);
	} else {
		for (int i = len; i >= 0; i--) {
			if (judge(i)) {
				printf("%d\n", i*2);
				break;
			}
		}
	}
	return 0;
}
Beispiel #6
0
int main()
{
	for( char s[ 99 ]; gets( s ); )
	{
		int use[ 99 ] = { 0 }, size = 0;

		for( int i = 0; s[ i ]; ++i )
			if( isdigit( s[ i ] ) )
				use[ size++ ] = s[ i ] - '0';
			else if( s[ i ] == 'X' )
				use[ size++ ] = 10;
		for( int i = 0; s[ i ]; ++i )
			if( !isspace( s[ i ] ) )
				putchar( s[ i ] );
		printf( " is %scorrect.\n", size == 10 && judge( use )? "" : "in" );
	}
}
Beispiel #7
0
int main(void)
{
    int judge(int , int );//函数声明

    int n, m, i, j, num;//声明语句
    scanf("%d %d", &m, &n);//输入第一个数字以及测试数据的长度
    for (i = n + 1; i <= n + m; i++)//从n+1开始测试m个数据
    {
        for (num = 0, j = 2; j <= 10; j++)//循环判断是否是双重以上的回文数
            num += judge(i, j);//函数调用

        if (num >= 2)//如果num能够累加到2以上,则输出被判断数字
            printf("%d\n", i);
    }

    return 0;
}
Beispiel #8
0
 int main(void)
 
 {
	char input_c[100];
	printf("Pls input the char input_c\n");
	scanf("%s",input_c);
	
	printf("U input the char is %s\n",input_c);
	
	if(judge(input_c) == 1)
		printf("Yes,U input is plalindrome~!!!!\n");
	else
		printf("No,U input is not the  plalindrome~!!!!\n");
	
	return 0;
	
 }
Beispiel #9
0
long long main()
{
    long long t,i,k;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&m,&n);
        mul();
        k=judge();
        printf("%d/",n/k);
        printf("%d",ans[ans[0]]);
        for(i=ans[0]-1;i>=1;i--)
            printf("%02d",ans[i]);
        printf("\n");
    }
    return 0;
}
int main(void) //메인 함수
{
	BOOL isEndloop = 0;
	printf("enter a number (3 - 7): ");
	scanf("%d",&size);
	
	/*사용자로부터 크기를 입력받는다.
	범위(MINP: 3 - MAXP: 7)을 벗어나면 
	최소크기 MINP: 3으로 고정*/
	if(!(MINP<=size && size<=MAXP)) size=MINP;//입력된 크기가 3보다 작거나 7보다 크면, 최소인 3으로 출력	

	printf("Press ESC to exit.\n");
	printf("Left(4, A), Right(6, D), Down(2, X), Up(8, W)\n");


	// initilize the game
	init();


	// play
	while(!isEndloop) {
		int i,j;
		/* 
			judge()함수가 1을 리턴할 때까지 
			사용자로부터 키를 입력받아(_getch())
			퍼즐 조각을 움직이면서 게임 진행
		*/
		move(_getch());
		isEndloop = judge();
		
		//draw each puzzle
		for(i=0;i<size;i++) {
			for(j=0;j<size;j++) {
				draw_piece(i,j);
			}
		}
	
	}
	
	// exit the game
	gotoxy(0, size*3+1 + OFFSET);
	printf("Done!\n\n");

	return 0;
}
void registerDialog::on_registerbtn_2_clicked()
{
     QString name = ui->userline_2->text();
     QString id = ui->idline->text();
     QString pwd = ui->pwdline->text();
     QString repwd = ui->repwd_2->text();
     QString yanzheng = ui->yanzhengline_2->text();
    // qDebug()<<name<<"\n"<<id<<"\n"<<pwd<<"\n"<<repwd<<"\n"<<yanzheng;
     QSqlDatabase db = QSqlDatabase::database("logconnect");
     QSqlQuery query(db);
     query.prepare("select Id from user where user.Id = ?");
     query.addBindValue(id);
     query.exec();
     query.next();
     //qDebug()<<query.value(0).toString();
     //如果在数据库中查询的Id不存在
     QString selectID = query.value(0).toString();
     if(id == selectID && id != "" && selectID != "")//说明帐号已存在
     {
         QMessageBox::warning(this,"警告", "帐号已存在",
                              QMessageBox::Cancel);
     }else if(pwd != repwd && pwd != "" && repwd != "" )//两次密码不一致
     {
        QMessageBox::warning(this, "错误", "两次密码输入不一致",
                             QMessageBox::Cancel);

     }else if(yanzheng != ui->yanzheng->text() && yanzheng != "")//验证码不正确
     {
         QMessageBox::warning(this, "错误", "验证码输入不正确",
                              QMessageBox::Cancel);
     }else{
            if(judge()){//检验是否为空
                query.prepare("insert into user values(?, ?, ?)");
                query.addBindValue(id);
                query.addBindValue(pwd);
                query.addBindValue(name);
                query.exec();
                //query.exec("insert into user values('1', '2' , '3')");
                QMessageBox::warning(this, "提示", "注册成功", QMessageBox::Ok);
               // this->accept();
                //关闭当前窗口
                this->close();
            }
     }
}
Beispiel #12
0
void main()
{
	int i,j,a,d,n,tmp;
	int sum=0;
	while(scanf("%d%d%d",&a,&d,&n)!=EOF)
	{
		j=0;
		if(a==0&&d==0&&n==0)
			break;
		for(i=1;i<=n;j++)
		{
			tmp =a+d*j;
			if(judge(tmp))
				i++;	
		}
		printf("%d\n",a+d*(j-1));
	}
}
int main()
{
	char str1[10],str2[10];
	memset(head.next,0,sizeof(head.next));
	head.id=-1;
	while(~scanf("%s %s\n",str1,str2))
	{
	//	printf("%s %s\n",str1,str2);
		int s1=find(str1),s2=find(str2);
	//	printf("%d %d\n",s1,s2);
		if(!deg[s1]) father[s1]=s1;
		if(!deg[s2]) father[s2]=s2;
		++deg[s1],++deg[s2];
		together(s1,s2);
	}
	judge();
	return 0;
}
Beispiel #14
0
void get_ans()
{
	for(ll i=3;i<=50;i++)
	{
		for(ll j=2;j<=i-1;j++)
		{
			for(ll k=1;k<=j-1;k++)
			{
				if(judge(a[i],a[j],a[k]))
				{
					return ;
				}
			}
		}
	}
	puts("-1 -1 -1");
	return ;
}
Beispiel #15
0
void find()
{
    for(int i=3; i<=50; i++)
    {
        for(int j=2; j<i; j++)
        {
            for(int k=1; k<j; k++)
            {
                if(judge(a[i],a[j],a[k]))
                {
                    return;
                }
            }
        }
    }
    printf("-1 -1 -1\n");
    return;
}
Beispiel #16
0
int main()
{

	int n_test;
	scanf("%d", &n_test);
	scanf("%lld%lld%lld%lld%lld", &a1, &b1, &c1, &d1, &k);
	scanf("%lld%lld%lld%lld%lld", &a2, &b2, &c2, &d2, &m);
	scanf("%lld%lld%lld%lld%lld", &a3, &b3, &c3, &d3, &x);
	int ans = 0;
	while(n_test --)
	{
		ans += judge();
		k = ((a1 * k) % d1 * k + b1 * k + c1) % d1 + 20;
		m = ((a2 * m) % d2 * m + b2 * m + c2) % d2 + 20;
		x = ((a3 * x) % d3 * x + b3 * x + c3) % d3 + 20;
	}
	printf("%d\n", ans);
}
Beispiel #17
0
// 循环改递归
// 模拟法,一位一位的试,从最高位到最低位填充,无冲突就填充下一位。
void work(int index, int n)
{
	if (index == n)
	{
		++cnt;
		printf("%s\n", array);
		return;
	}
	int i;
	for (i = 0; i < n; i++)
	{	
		array[index] = 'A' + i;
		if (judge(index))
		{	
			work(index + 1, n);
		}
	}
}
Beispiel #18
0
char* get_mac()
{
    FILE   *fp;
    char   buf[1024];
    memset(buf, 0,sizeof(buf));
    fp = popen( "getmac -v", "r" );
    fread( buf, sizeof(char), sizeof(buf),  fp);
    char Buf[1024];
    flag=0;
    memset(Buf,0,sizeof(Buf));
    int len = strlen(buf);
    int i,j;
    for(i=0;i<len;i++)
        Buf[i] = buf[i];
    i=0;
    while(i<len)
    {
        while(i<len&&(Buf[i]==' '||Buf[i]=='\n'))i++;
        char a[1024];
        memset(a,0,sizeof(a));
        j=0;
        while(i<len&&Buf[i]!=' ')
        {
            a[j++]=Buf[i];
            i++;
        }
        a[j]='\0';
        judge(a);
    }
    char Ans_string[1024];
    memset(Ans_string,0,sizeof(Ans_string));
    for(i=0;i<12;i++)
    {
        if(Ans[i]<=9)
        {
            Ans_string[i] = (char)(Ans[i]+'0');
        }
        else
        {
            Ans_string[i] = (char)(Ans[i]+'A'-10);
        }
    }
    return Ans_string;
}
Beispiel #19
0
int main()
{
    int i,j,z,count=1;
    char ch;
    while(scanf("%d%d%d",&n,&m,&k)!=EOF)
    {
        if(m==0&&n==0&&k==0)
            break;
        if(count>1)
            printf("\n");
        printf("NTA%d:\n",count);
        for(i=0; i<n; i++)
            for(j=0; j<k; j++)
            {   z=0;
                while(1)
                {
                    scanf("%d%d",&table[i][j][z].left,&table[i][j][z].right);
                    ch=getchar();
                    z++;
                    if(ch=='\n')
                        break;
                }
                see[i][j]=z;
            }
        while(scanf("%d",&z)&&z!=-1)
        {
            treedeep=0;
            for(i=0; i<=z; i++)
                for(j=1; j<=(1<<i); j++)
                {
                    treedeep++;
                    scanf("%s",c);
                    tree[treedeep]=*c;
                }
            if(judge(0,1))
                printf("Valid\n");
            else
                printf("Invalid\n");
        }
        count++;
    }

    return 0;
}
Beispiel #20
0
int main(int argc, char* argv[])
{
    int n = 0, i = 0, j = 0;
    char line[51] = "";

#ifndef ONLINE_JUDGE
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
#endif

    while(1){
        if(gets(pno) == NULL) break;
        if(pno[0] == '-' || pno[0] == 0) break;
        lenpno = strlen(pno);

        memset(dicname, 0, sizeof(dicname));
        dicsize = 0;

        memset(h, -1, sizeof(h));
        memset(rslt, 0 ,sizeof(rslt));
        memset(mincnt, 0 ,sizeof(mincnt));

        scanf("%d\n", &n);

        for(i = 0; i < n; i++){
            gets(line);
            calcword(line);
        }

        judge();

        if(rslt[0] == 0){
            printf("No solution.\n");
        } else {
			for(i = 0; i < lenpno; i += rslt[i]){
				if(i > 0) printf(" ");
				printf("%s", dicname[h[i][rslt[i]]]);
			}
			printf("\n");
        }
    }
    
    return 0;
}
Beispiel #21
0
void DFS(int num){
	if (num>1)
		if (judge(ans[num]+ans[num-1])==false) return;
	if (num==n){
		check();
		return;
	}
	for (int i = 2; i <=n; ++i)
	{
		if (hash[i]==false)
		{
			hash[i]=true;
			ans[num+1]=i;
			DFS(num+1);
			hash[i]=false;
		}
	}

}
int judge1(int now)
{
    int i,j,num=0,ok;
    for(i=0;i<15;i++)
        for(j=0;j<15;j++)
            if(a[i][j]<0)
            {
                a[i][j]=now;
                ok=judge(now);
                a[i][j]=-1;
                if(ok)
                {
                    nx=i;
                    ny=j;
                    return 1;
                }
            }
    return 0;
}
Beispiel #23
0
int main()
{
	int i;
	FILE *fin  = fopen ("frac1.in", "r");
    FILE *fout = fopen ("frac1.out", "w");
	fscanf(fin,"%d",&tot);
	for(i=2;i<=tot;i++)
		num[i]=1;
	fprintf(fout,"0/1\n");
	while(function())
	{
		fprintf(fout,"%d/%d\n",num[cur],cur);
		num[cur]++;
		while(judge(num[cur],cur)&&num[cur]!=cur)
			num[cur]++;
	}
	fprintf(fout,"1/1\n");
	return 0;
}
Beispiel #24
0
int main(){
    int n,k,ans,t=0;
    while(scanf("%d",&n)!=EOF){
        k=1;//标记次数
        while(k<=n){
            scanf("%s%s%s",a,b,c);
            cstr=strlen(c);
            memset(p,0,sizeof(p));
            ans=0;
            ans=judge(0,0,0);//dfs找对应字符串
            printf("Data set %d:",k++);
            if(ans){
                printf(" yes\n");
            }
            else
                printf(" no\n");
        }
    }
}
Beispiel #25
0
 bool dfs(vector<vector<char> > &board, string &word, int cnt, int x, int y) {
     if (cnt == word.length()) {
         return true;
     }
     int tx, ty;
     for (int i = 0; i < 4; i++) {
         tx = x + dx[i];
         ty = y + dy[i];
         if (judge(tx, ty) && board[tx][ty] == word[cnt]) {
             board[tx][ty] = '#';
             if (dfs(board, word, cnt + 1, tx, ty)) {
                 board[tx][ty] = word[cnt];
                 return true;
             }
             board[tx][ty] = word[cnt];
         }
     }
     return false;
 }
Beispiel #26
0
Chess::PieceType Chess::judge_win() const
{
	int i, j, dire;
	for (i = 0; i < SIZE; i++)
	{
		for (j = 0; j < SIZE; j++)
		{
			if (chess_array_[i][j] != EMPTY)
			{
				for (dire = COL; dire <= RIGHT_LEFT; dire++)
				{
					if (judge(i, j, (Direction)dire) >= 5)
						return chess_array_[i][j];
				}
			}
		}
	}
	return EMPTY;
}
Beispiel #27
0
int main()
{
    while(scanf("%d", &n) != EOF)
    {
        for(int i=0;i<=n;++i)
        {
            scanf("%s", s[i]);
        }
        if(judge())
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}
Beispiel #28
0
void make(int m){
	if (m == 1){
		isavalid = true;
		// we find one case of m here, judge n now
		judge(b);
		return ;
	}

	int i;
	for (i = 1; i <= 100; ++i){
		if (record[i] == 0 && m % i == 0){
			record[i] = 1;			
			m /= i;
			make(m);
			m *= i;
			record[i] = 0;
		}
	}
}
Beispiel #29
0
void get_palind()
{
	int p[]={1,3,7,9};
	int d[]={1,10,100,1000};
	int i,j,k,l,t,tmp;
	for(i=1;i<4;i++)
		for(j=0;j<4;j++){
			for(k=0,t=p[j]*d[i];k<d[i];k++,t++){
				tmp=t*d[i];
				for(l=i;l>0;l--)
					tmp+=((t/d[l])%10)*d[i-l];
				if(tmp>b)
					return ;
				if(judge(tmp))
					palind[len++]=tmp;
			}
		}

}
Beispiel #30
0
int main()
{
	freopen("monkeyk.in","r",stdin);
	freopen("monkeyk.out","w",stdout);
	scanf("%d",&N);
	for(int i=1;i<=N;i++)
	{
		father[i]=i;
		scanf("%d",&mem[i].key);
		Heap[i]=i;
	}
	scanf("%d",&M);
	while(M--)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		if (same(x,y)) printf("-1\n");
		else
		{
			int fx=getfather(x),fy=getfather(y);
			judge(fx,fy);
			
			int t;
			int p=Maximum(Heap[fx]);
			t=del(Heap[fx],p);
			Heap[fx]=Union(t,Heap[fx]);
			mem[p].key/=2;
			Heap[fx]=insert(Heap[fx],p);
			p=Maximum(Heap[fy]);
			
			t=del(Heap[fy],p);
			Heap[fy]=Union(t,Heap[fy]);
			mem[p].key/=2;
			Heap[fy]=insert(Heap[fy],p);
			
			Heap[fx]=Union(Heap[fx],Heap[fy]);
			Heap[fy]=NULL;
			printf("%d\n",mem[Maximum(Heap[fx])].key);
		}
	}
	return 0;
}