Cod sursă (job #513372)

Utilizator avatar mariabd Maria Burdila mariabd IP ascuns
Problemă Romb2 (clasele 9-10) Compilator cpp | 0,74 kb
Rundă Arhiva de probleme Status evaluat
Dată 16 dec. 2019 17:47:17 Scor 0
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("prob.in");
ofstream fout("prob.out");
int v1[4], v2[4],dx, dy, pas, x, y, n;

int main(){
    
    fin>>n;
    for (int i=0; i<n; ++i) {
        fin>>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;
        }
        fout<<rs + 1<<endl;
    }
    return 0;
}