QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#689783#9255. Python ProgramYipChipCompile Error//C++116.9kb2024-10-30 18:38:212024-10-30 18:38:22

Judging History

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

  • [2024-10-30 18:38:22]
  • 评测
  • [2024-10-30 18:38:21]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N = 210;
typedef long long ll;
string line1, line2, line3, line4, line5;
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 < line2.length(); 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 < line3.length(); 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:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   11 |     gets(line1);
      |     ~~~~^~~~~~~
In file included from /usr/include/stdio.h:867,
                 from /usr/include/c++/13/cstdio:42,
                 from /usr/include/c++/13/ext/string_conversions.h:45,
                 from /usr/include/c++/13/bits/basic_string.h:4097,
                 from /usr/include/c++/13/string:54,
                 from /usr/include/c++/13/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52,
                 from answer.code:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:11:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   11 |     gets(line1);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:11:10: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘char*’
   11 |     gets(line1);
      |          ^~~~~
      |          |
      |          std::string {aka std::__cxx11::basic_string<char>}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:13: note:   initializing argument 1 of ‘char* gets(char*)’
  235 | gets (char *__str)
      |       ~~~~~~^~~~~
answer.code:12:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   12 |     gets(line2);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:12:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   12 |     gets(line2);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:12:10: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘char*’
   12 |     gets(line2);
      |          ^~~~~
      |          |
      |          std::string {aka std::__cxx11::basic_string<char>}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:13: note:   initializing argument 1 of ‘char* gets(char*)’
  235 | gets (char *__str)
      |       ~~~~~~^~~~~
answer.code:13:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   13 |     gets(line3);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:13:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   13 |     gets(line3);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:13:10: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘char*’
   13 |     gets(line3);
      |          ^~~~~
      |          |
      |          std::string {aka std::__cxx11::basic_string<char>}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:13: note:   initializing argument 1 of ‘char* gets(char*)’
  235 | gets (char *__str)
      |       ~~~~~~^~~~~
answer.code:14:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   14 |     gets(line4);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:14:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   14 |     gets(line4);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:14:10: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘char*’
   14 |     gets(line4);
      |          ^~~~~
      |          |
      |          std::string {aka std::__cxx11::basic_string<char>}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:13: note:   initializing argument 1 of ‘char* gets(char*)’
  235 | gets (char *__str)
      |       ~~~~~~^~~~~
answer.code:15:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   15 |     gets(line5);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:15:9: warning: ‘char* gets(char*)’ is deprecated [-Wdeprecated-declarations]
   15 |     gets(line5);
      |     ~~~~^~~~~~~
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:1: note: declared here
  235 | gets (char *__str)
      | ^~~~
answer.code:15:10: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘char*’
   15 |     gets(line5);
      |          ^~~~~
      |          |
      |          std::string {aka std::__cxx11::basic_string<char>}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:235:13: note:   initializing argument 1 of ‘char* gets(char*)’
  235 | gets (char *__str)
      |       ~~~~~~^~~~~