6 条题解

  • 0
    @ 2025-9-14 10:08:04

    我们不能懒惰,不能贪心于使用内置函数

    template <class _Tp = const unsigned long long int>
    class P { _Tp *p { nullptr }; };
    signed WinMain(int argv, char argc[]) {}
    #pragma GCC system_header
    #include <cstdio>
    #include <ctype.h>
    typedef unsigned long long ULL;
    int read() {
    	char ch;
    	int res = 0;
    	while (!isdigit(ch = getchar()));
    	res = ch ^ 48;
    	while (isdigit(ch = getchar())) res = res * 10 + (ch ^ 48);
    	return res;
    }
    int add(int a, int b) {
    	if (!a) return b;
    	return add((a & b) << 1, a ^ b);
    }
    ULL quick_mul(int a, int b) {
    	ULL res = 0;
    	for (ULL t = a; b; b >>= 1, t <<= 1)
    		if (b & 1) res = res + t;
    	return res;
    }
    ULL square(int a) {
    	return quick_mul(a, a);
    }
    void swap(int *a, int *b) {
    	*a ^= *b ^= *a ^= *b;
    }
    void sort(int *a, int *b) {
    	if (*a > *b) swap(a, b);
    }
    void sort(int *a, int *b, int *c) {
    	sort(a, b);
    	sort(b, c);
    	sort(a, b);
    }
    int is_rt_tri(int a, int b, int c) {
    	return square(a) + square(b) == square(c);
    }
    int area_integer_part(int a, int b, int c) {
    	return quick_mul(a, b) >> 1;
    }
    int area_decimal_part(int a, int b, int c) {
    	return quick_mul(5, quick_mul(a, b) & 1);
    }
    void print(int a) {
    	if (!a) return;
    	print(a / 10);
    	putchar(a % 10 ^ 48);
    }
    void print_area(int a, int b, int c) {
    	print(area_integer_part(a, b, c));
    	int decimal = area_decimal_part(a, b, c);
    	if (decimal) putchar('.'), print(decimal);
    }
    void global_print(int a, int b, int c) {
    	if (!is_rt_tri(a, b, c)) {
    		puts("no");
    	} else {
    		print_area(a, b, c);
    	}
    }
    signed main(int argv, char argc[]) {
    	int a, b, c;
    	a = read();
    	b = read();
    	c = read();
    	sort(&a, &b, &c);
    	global_print(a, b, c);
    	return 0;
    }
    

    信息

    ID
    26
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    (无)
    递交数
    53
    已通过
    42
    上传者