Cod sursă (job #513378)

Utilizator avatar mariabd Maria Burdila mariabd IP ascuns
Problemă Romb2 (clasele 9-10) Compilator cpp | 0,78 kb
Rundă Arhiva de probleme Status evaluat
Dată 16 dec. 2019 17:53:58 Scor 20
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;

int v1[4], v2[4],dx, dy, pas, x, y, n;

int main(){
    freopen("romb2.in", "r", stdin);
	freopen("romb2.out", "w", stdout);
     scanf("%d",&n);
    for (int i=0; i<n; ++i) {
        scanf("%d%d%d%d%d",&dx,&dy,&pas,&x,&y);
        x *= dy;
        y *= dx;
        dx *= dy;
        v2[0] = -dx;
        v1[1] =  dx;
        v2[2] =  dx;
        v1[3] = -dx;
       int rs = 0;
        for (int j=0;j<pas; ++j) {
            int a = (x > y);
            int b = (x + y > 0);
            int q = (a << 1) ^ (a == b);
            x <<= 1;
            y <<= 1;
            x += v1[q];
            y += v2[q];
            rs = (rs << 2) ^ q;
        }
        	printf("%d\n", rs+1);
    }
    return 0;
}