QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#689776#9255. Python ProgramYipChipCompile Error//C++236.9kb2024-10-30 18:33:412024-10-30 18:33:42

Judging History

你现在查看的是最新测评结果

  • [2024-10-30 18:33:42]
  • 评测
  • [2024-10-30 18:33:41]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N = 210;
typedef long long ll;
char line1[N], line2[N], line3[N], line4[N], line5[N];
char value1[N], value2[N];
ll a, b, c, d, e, f;

int main()
{
    gets(line1);
    gets(line2);
    gets(line3);
    gets(line4);
    gets(line5);
    for (int i = 0, space = 0; i < strlen(line2); i ++ )
    {
        if (line2[i] == ' ' && !space)
        {
            int n = 0;
            space ++ ;
            i ++ ;
            while (line2[i] != ' ') value1[n ++ ] = line2[i], i ++ ;
        }
        if (line2[i] == '(')
        {
            i ++ ;
            int pd = 0;
            if (line2[i] == '-') pd = 1, i ++ ;
            while (line2[i] != ',')
            {
                a = a * 10 + line2[i] - '0';
                i ++ ;
            }
            if (pd) a = -a;
            i ++ ;
            pd = 0;
            if (line2[i] == '-') pd = 1, i ++ ;
            while (line2[i] != ',' && line2[i] != ')')
            {
                b = b * 10 + line2[i] - '0';
                i ++ ;
            }
            if (pd) b = -b;
            if (line2[i] == ')')
            {
                c = 1;
                break;
            }
            else
            {
                i ++ ;
                pd = 0;
                if (line2[i] == '-') pd = 1, i ++ ;
                while (line2[i] != ')') c = c * 10 + line2[i] - '0', i ++ ;
                if (pd) c = -c;
                break;
            }
        }
    }

    int cases = 0;
    for (int i = 4, space = 0; i < strlen(line3); i ++ )
    {
        if (line3[i] == ' ' && !space)
        {
            int n = 0;
            space ++ ;
            i ++ ;
            while (line3[i] != ' ') value2[n ++ ] = line3[i], i ++ ;
        }
        if (line3[i] == '(')
        {
            i ++ ;
            int pd = 0;
            if (line3[i] != '-' && (line3[i] < '0' || line3[i] > '9'))
            {
                cases = 1;
                while (line3[i] != ',') i ++ ;
                i ++ ;
            }
            else
            {
                if (line3[i] == '-') pd = 1, i ++ ;
                while (line3[i] != ',' && line3[i] != ')') d = d * 10 + line3[i] - '0', i ++ ;
                if (pd) d = -d;
                i ++ ;
            }
            pd = 0;
            if (line3[i] != '-' && (line3[i] < '0' || line3[i] > '9'))
            {
                cases = 2;
                while (line3[i] != ',') i ++ ;
                i ++ ;
            }
            else
            {
                if (line3[i] == '-') pd = 1, i ++ ;
                while (line3[i] != ',') e = e * 10 + line3[i] - '0', i ++ ;
                if (pd) e = -e;
                i ++ ;
            }
            if (line3[i] == ')')
            {
                f = 1;
                break;
            }
            else
            {
                pd = 0;
                if (line3[i] != '-' && (line3[i] < '0' || line3[i] > '9'))
                {
                    cases = 3;
                    while (line3[i] != ',') i ++ ;
                }
                else
                {
                    if (line3[i] == '-') pd = 1, i ++ ;
                    while (line3[i] != ')') f = f * 10 + line3[i] - '0', i ++ ;
                    if (pd) f = -f;
                    i ++ ;
                }
                break;
            }
        }
    }
    // a, b, c, d, e, f
    // for (i = a, i < b, i += c)
    //     for (j = d, j < e, j += f)
    //          ans += j
    cout << a << ' ' << b << ' ' << c << ' ' << d << ' ' << e << ' ' << f << "\n";
    ll ans = 0;
    // const
    if (cases == 0)
    {
        ll times;
        if (f > 0)
        {
            ll times = (e - d - 1) / f + 1;
            e = d + (times - 1) * f;
        }
        else
        {
            swap(d, e), f = -f;
            times = (e - d - 1) / f + 1;
            d = e - (times - 1) * f;
        }
        if (c > 0)
        {
            ll times = (b - a - 1) / c + 1;
            b = a + (times - 1) * c;
        }
        else
        {
            swap(a, b), c = -c;
            times = (b - a - 1) / c + 1;
            a = b - (times - 1) * c;
        }
        for (int i = a; i <= b; i += c)
            ans += (d + e) * times / 2;
    }
    // d = i
    if (cases == 1)
    {
        ll times, tmp = e;
        if (c > 0)
        {
            ll times = (b - a - 1) / c + 1;
            b = a + (times - 1) * c;
        }
        else
        {
            swap(a, b), c = -c;
            times = (b - a - 1) / c + 1;
            a = b - (times - 1) * c;
        }
        for (int i = a; i <= b; i += c)
        {
            d = i, e = tmp;
            if (f > 0)
            {
                if (d >= e) continue;
            }
            else
            {
                if (e >= d) continue;
            }
            if (f > 0)
            {
                times = (e - d - 1) / f + 1;
                e = d + (times - 1) * f;
            }
            else
            {
                swap(d, e), f = -f;
                times = (e - d - 1) / f + 1;
                d = e - (times - 1) * f;
            }
            ans += (d + e) * times / 2;
        }
    }
    // e = i
    if (cases == 2)
    {
        ll times, tmp = d;
        if (c > 0)
        {
            ll times = (b - a - 1) / c + 1;
            b = a + (times - 1) * c;
        }
        else
        {
            swap(a, b), c = -c;
            times = (b - a - 1) / c + 1;
            a = b - (times - 1) * c;
        }
        for (int i = a; i <= b; i += c)
        {
            d = tmp, e = i;
            if (f > 0)
            {
                times = (e - d - 1) / f + 1;
                e = d + (times - 1) * f;
            }
            else
            {
                swap(d, e), f = -f;
                times = (e - d - 1) / f + 1;
                d = e - (times - 1) * f;
            }
            ans += (d + e) * times / 2;
        }
    }
    // f = i
    if (cases == 3)
    {
        ll times;
        if (c > 0)
        {
            ll times = (b - a - 1) / c + 1;
            b = a + (times - 1) * c;
        }
        else
        {
            swap(a, b), c = -c;
            times = (b - a - 1) / c + 1;
            a = b - (times - 1) * c;
        }
        for (int i = a; i <= b; i += c)
        {
            f = i;
            if (f > 0)
            {
                times = (e - d - 1) / f + 1;
                e = d + (times - 1) * f;
            }
            else
            {
                swap(d, e), f = -f;
                times = (e - d - 1) / f + 1;
                d = e - (times - 1) * f;
            }
            ans += (d + e) * times / 2;
        }
    }
    cout << ans << '\n';
    return 0;
}

詳細信息

answer.code: In function ‘int main()’:
answer.code:11:5: error: ‘gets’ was not declared in this scope; did you mean ‘getw’?
   11 |     gets(line1);
      |     ^~~~
      |     getw