I has always believed that I'm good at solving math problems
Turns out I has been wrong all the time. And I'm not alone.
This commit is contained in:
parent
887c286cc8
commit
267b2db7ad
|
@ -0,0 +1,23 @@
|
|||
#include <stdio.h>
|
||||
#define MAX(x, y) (((n) > (m)) ? (n) : (m))
|
||||
#define MIN(x, y) (((n) > (m)) ? (m) : (n))
|
||||
|
||||
int match(long long x, long long y, int ari)
|
||||
{
|
||||
long long mod = x % y;
|
||||
return (mod && x - y == mod) ? match(y, mod, !ari) : ari;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int t;
|
||||
long long n, m;
|
||||
|
||||
scanf("%d", &t);
|
||||
while (t--) {
|
||||
scanf("%lld %lld", &n, &m);
|
||||
puts(match(MAX(n, m), MIN(n, m), 1) ? "Ari" : "Rich");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
(define (match big smol ari)
|
||||
(let ((mod (modulo big smol)))
|
||||
(if (or (= mod 0) (> (quotient big smol) 1))
|
||||
ari
|
||||
(match smol mod (not ari)))))
|
||||
|
||||
(let loop ((i (read)))
|
||||
(when (> i 0)
|
||||
(let ((n (read)) (m (read)))
|
||||
(display (if (match (max n m) (min n m) #t)
|
||||
"Ari\n"
|
||||
"Rich\n")))
|
||||
(loop (1- i))))
|
|
@ -0,0 +1,19 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
long long *result = malloc(sizeof(long) * 1000001);
|
||||
result[0] = 1;
|
||||
for (long i = 1; i < 1000002; ++i)
|
||||
result[i] = result[i - 1] * (i + 1) % 1000000007;
|
||||
|
||||
long t, n;
|
||||
scanf("%ld", &t);
|
||||
while (t--) {
|
||||
scanf("%ld", &n);
|
||||
printf("%ld\n", (result[n] - 1) % 1000000007);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int cmpl(const void *x, const void *y)
|
||||
{
|
||||
long tmp = *(long *) x - *(long *) y;
|
||||
if (tmp > 0)
|
||||
return 1;
|
||||
if (tmp)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int i, n, t;
|
||||
long x, y, u[10000], v[10000];
|
||||
scanf("%d", &t);
|
||||
|
||||
while (t--) {
|
||||
scanf("%d", &n);
|
||||
for (i = 0; i < n; ++i) {
|
||||
scanf("%ld %ld", &x, &y);
|
||||
u[i] = x + y;
|
||||
v[i] = x - y;
|
||||
}
|
||||
|
||||
qsort(u, n, sizeof(long), cmpl);
|
||||
qsort(v, n, sizeof(long), cmpl);
|
||||
|
||||
long tmp, min = u[n - 1] - *u;
|
||||
for (i = 1; i < n; ++i)
|
||||
if ((tmp = u[i] - u[i - 1]) < min)
|
||||
min = tmp;
|
||||
for (i = 1; i < n; ++i)
|
||||
if ((tmp = v[i] - v[i - 1]) < min)
|
||||
min = tmp;
|
||||
|
||||
printf("%.1f\n", min / 2.0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue