Pagini recente »
Borderou de evaluare (job #237310)
|
Clasament 2015-11-24-test-6
|
Borderou de evaluare (job #188022)
|
Borderou de evaluare (job #423090)
|
Cod sursă (job #513411)
Cod sursă (job
#513411)
{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600
{\fonttbl\f0\fmodern\fcharset0 Courier;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\partightenfactor0
\f0\fs26 \cf0 \expnd0\expndtw0\kerning0
#include <stdio.h>\
\
int X[4], Y[4];\
\
int main()\{\
int t;\
FILE *fin = fopen("romb2.in", "r");\
FILE *fout = fopen("romb2.out", "w");\
fscanf(fin, "%d", &t);\
for (int i=0;i<t;++i) \{\
int dx, dy, steps, xcity, ycity;\
fscanf(fin, "%d%d%d%d%d", &dx, &dy, &steps, &xcity, &ycity);\
xcity *= dy;\
ycity *= dx;\
dx *= dy;\
Y[0] = -dx;\
X[1] = dx;\
Y[2] = dx;\
X[3] = -dx;\
long long ans = 0;\
for (int j=0;j<steps;++j) \{\
int a = (xcity > ycity);\
int b = (xcity + ycity > 0);\
int q = (a << 1) ^ (a == b);\
xcity <<= 1;\
ycity <<= 1;\
xcity += X[q];\
ycity += Y[q];\
ans = (ans << 2) ^ q;\
\}\
fprintf(fout, "%lld\\n", ans + 1);\
\}\
fclose(fin);\
fclose(fout);\
return 0;\
\}\
}