Exemple #1
0
int solve()
{
	int la = strlen(A);
	int lb = strlen(B);
	int lc = strlen(C);

	++gvis;

	Neg(prev_a);
	calc_prev(prev_a, A, la);
	Neg(prev_b);
	calc_prev(prev_b, B, lb);

	return Mod(fun(la, lb, lc, 0).c + fun(la, lb, lc, 1).c);
}
Exemple #2
0
int main( )
{
    execute( Seq(
        If( True( ), Print( String( "hello " ) ), Print( True( ) ) ),
        If( Or( False( ), Neg( True( ) ) ), Print( Unit( ) ), Print( String( "world!\n" ) ) ) ) );
    execute( Seq(
        When( True( ), Print( String( "hello " ) ) ),
        Unless( False( ), Print( String( "world!\n" ) ) ) ) );
    execute( Print( Print( Seq( Print( True( ) ), Print( False( ) ) ) ) ) );
    execute( Print( Concat( String( "4" ), Show( True( ) ) ) ) );
    assert( value_to_bool( execute( IsDefined( String( "not defined" ) ) ) ) == false );
    execute(
        Seq( Set( String( "SomeVar" ), String( "12" ) ),
             Seq( Print( Get( String( "SomeVar" ) ) ),
                  Seq( Set( Concat( String( "S" ), String( "omeVar" ) ), String( "345\n" ) ),
                       Print( Get( Concat( String( "Some" ), String( "Var" ) ) ) ) ) ) ) );
    execute( Seq(
        If( True( ), Set( String( "hello " ), String( "hellos \n" ) ), Print( True( ) ) ), Print( Get( String( "hello " ) ) ) ) );
    execute( Seq( Scope( Set( String( "hi" ), True( ) ) ), Print( IsDefined( String( "hi" ) ) ) ) );
    assert(
        value_to_bool( execute( Seq( Seq( Set( String( "var" ), False( ) ), Scope( Set( String( "var" ), True( ) ) ) ), Get( String( "var" ) ) ) ) ) );
    execute(
        Seq(
            Seq( Set( String( "b1" ), True( ) ), Set( String( "b2" ), True( ) ) ),
            While(
                Or( Get( String( "b1" ) ), Get( String( "b2" ) ) ),
                If( Get( String( "b1" ) ),
                    Seq( Set( String( "b1" ), False( ) ), Print( String( "Hello" ) ) ),
                    Seq( Set( String( "b2" ), False( ) ), Print( String( "World" ) ) ) ) ) ) );
}
Exemple #3
0
int main()
{
    int T;
    scanf("%d", &T);

    int ncase = 0;
    while (T--) {
        scanf("%d%d", &R, &C);
        for (int i = 0; i < R; ++i) scanf("%s", grid[i]);

        printf("Case %d:\n", ++ncase);

        Neg(memo);
        scanf("%d", &Q);
        while (Q--) {
            scanf("%d%d", &x, &y);

            if (is_odd(x + y)) { puts("0"); continue; }

            if (memo[x][y][0] >= 0) {
                int ax = memo[x][y][0];
                int ay = memo[x][y][1];
                printf("%.8lf\n", ans[ax][ay]);
                continue;
            }

            curr = 0.0;
            dfs(x, y);
            ans[x][y] = curr;
            printf("%.8lf\n", curr);
        }
    }

    return 0;
}
Exemple #4
0
void Intermediate ( Quaternion* q0, Quaternion* q1, Quaternion* q2,
   Quaternion* a, Quaternion* b)
{
   /* assert:  q0, q1, q2 are unit quaternions */
   /*Quaternion q0inv = q0.UnitInverse();
   Quaternion q1inv = q1.UnitInverse();
   Quaternion p0 = q0inv*q1;
   Quaternion p1 = q1inv*q2;
   Quaternion arg = 0.25*(p0.Log()-p1.Log());
   Quaternion marg = -arg;
 
   a = q1*arg.Exp();
   b = q1*marg.Exp();
   */

   Quaternion p0, p1;
   UnitInverse(&p0, q0);
   UnitInverse(&p1, q1);
   MulSelf(&p0, q1);
   MulSelf(&p1, q2);
   LogSelf(&p0);
   LogSelf(&p1);
   Sub(a,&p0, &p1);
   MulScalSelf(a, 0.25);
   Neg(b, a);

   ExpSelf(a);
   ExpSelf(b);
   Mul(a, q1, a);
   Mul(b, q1, b);
}
Exemple #5
0
Expression *NegExp::optimize(int result)
{   Expression *e;

    e1 = e1->optimize(result);
    if (e1->isConst() == 1)
    {
	e = Neg(type, e1);
    }
    else
	e = this;
    return e;
}
Exemple #6
0
int cost_euler_cycle()
{
    int odds = 0;
    u32 bmask = 0;

    for (int i = 0; i < n; ++i)
        if (! pv[i]) {
            ++odds;
            bmask |= 1 << i;
        }

    if (odds == 0) return 0;

    floyd();
    Neg(memo);
    return f(bmask);
}
Exemple #7
0
int main()
{
	int T;
	scanf("%d", &T);
	assert(1 <= T && T <= MAXT);

	for (int t = 1; t <= T; ++t) {
		printf("Testing case %d ..\n", t);
		scanf("%d%d", &N, &M);
		assert(2 <= N && N <= MAXN);
		assert(0 <= M);

		Neg(idx);
		Clr(g);

		for (int i = 0; i < N; ++i) {
			scanf(" %c", &nodes[i]);
			assert(nodes[i] >= 'A' && nodes[i] <= 'Z');
			idx[nodes[i] - 'A'] = i;
		}

		while (M--) {
			char a, b;
			scanf(" %c %c", &a, &b);
			assert(a >= 'A' && a <= 'Z');
			assert(b >= 'A' && b <= 'Z');

			int u = idx[a - 'A'];
			int v = idx[b - 'A'];

			assert(u >= 0 && v >= 0);

			assert(! g[u][v]);
			assert(! g[v][u]);

			g[u][v] = g[v][u] = true;
		}
	}

	puts("OK");

	return 0;
}
Exemple #8
0
int main()
{
	int a = 16;	
	return Neg(a);	// вызов функции, выполн¤ющей негативацию входного
					// параметра.
}
Exemple #9
0
	void init() { Neg(buckets); n = 0; }
Exemple #10
0
void ALU::SetCarryOverflowFlags(bool add,unsigned char *op1,unsigned char *op2,unsigned char *res)
{
	// Clear them, then reset them if necessary
	ClearCarryOverflow();

	// Create unsigned copies
	unsigned int uop1=(unsigned int)op1;
	unsigned int uop2=(unsigned int)op2;
	unsigned int ures=(unsigned int)res;

	if(add)
	{
		// Signed (Overflow/Underflow)
		if(Pos(op1) && Pos(op2))
		{
			if(Neg(res))
			{
				p_parent->Overflow(true);	// Overflow
			}
		}
		else if(Neg(op1) && Neg(op2))
		{
			if(Pos(res))
			{
				p_parent->Overflow(true);	// Underflow
			}
		}

		// Unsigned (Carry)
		if((ures < uop1) || (ures < uop2))
		{
			p_parent->Carry(true);
		}
	}
	else	// subtract
	{
		// Signed (Overflow/Underflow)
		if(Pos(op1) && Neg(op2))
		{
			if(Neg(res))
			{
				p_parent->Overflow(true);	// Overflow
			}
		}
		else if(Neg(op1) && Pos(op2))
		{
			if(Pos(res))
			{
				p_parent->Overflow(true);	// Underflow
			}
		}		

// *&* TEMP KLUDGE - begin
		bool one=false;
		bool two=false;
		if(uop1 < uop2)
		{
			one=true;
		}
		else if((res > op1) && (res > op2))
		{
			two=true;
		}

		if(one != two)
		{
			int poop=3;
		}
// *&* TEMP KLUDGE - end

		// Unsigned (Borrow)
		if(uop1 < uop2)
		{
			p_parent->Carry(true);
		}
	}
}
Exemple #11
0
 void init(int N) {
     n = N, m = 0;
     Neg(adj);
 }