답안 #83651

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
83651 2018-11-09T14:54:18 Z charlies_moo Spirale (COCI18_spirale) C++14
컴파일 오류
0 ms 0 KB
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
    // initialize
    istream fin, fout;
//    fin.open("spiral.in", ios::in);
//    fout.open("spiral.out", ios::out);
    
    fin = &cin, fout = &cout;
    // pretreatment
    int x = 49, y = 49, temp = 1;
    int cw[99][99] = {0};
    cw[49][49] = 1;
    for (int i = 0; i < 49; i++)
    {
        // up 1
        x--; cw[x][y] = ++temp;
        // right n+1
        for (int j = 0; j < 2 * i + 1; j++)
        {
            y++;
            cw[x][y] = ++temp;
        }
        // down n+2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            x++;
            cw[x][y] = ++temp;
        }
        // left n+2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            y--;
            cw[x][y] = ++temp;
        }
        // up n + 2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            x--;
            cw[x][y] = ++temp;
        }
    }

    x = 49, y = 49, temp = 1;
    int ccw[99][99] = {0};
    ccw[49][49] = 1;
    for (int i = 0; i < 49; i++)
    {


        // up 1
        x--; ccw[x][y] = ++temp;
        // left n+1
        for (int j = 0; j < 2 * i + 1; j++)
        {
            y--;
            ccw[x][y] = ++temp;
        }
        // down n+2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            x++;
            ccw[x][y] = ++temp;
        }
        // right n+2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            y++;
            ccw[x][y] = ++temp;
        }
        // up n + 2
        for (int j = 0; j < 2 * i + 2; j++)
        {
            x--;
            ccw[x][y] = ++temp;
        }
    }

    int n, m, k;
    fin >> n >> m >> k;
    int sx[k];
    int sy[k];
    int t[k];
    for (int i = 0; i < k; i++)
    {
        int a, b;
        fin >> a >> b >> t[i];
        sx[i] = a-1;
        sy[i] = b-1;
    }

    // process
    int out[n][m];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            int mini = 100000;
            for (int l = 0; l < k; l++)
            {
                if (t[l] == 0)
                {
                    int temp = cw[i - sx[l] + 49][j - sy[l] + 49];
                    if (temp < mini)
                        mini = temp;
                }
                else
                {
                    int temp =  ccw[i - sx[l] + 49][j - sy[l] + 49];
                    if (temp < mini)
                        mini = temp;
                }
            }
            fout << mini << " ";
        }
        fout << endl;
    }

    // debug
//    for (int i = 0; i < 99; i++)
//    {
//        for (int j = 0; j < 99; j++)
//        {
//            cout << cw[i][j] << "   ";
//        }
//        cout << endl;
//    }
}

Compilation message

spirale.cpp: In function 'int main()':
spirale.cpp:8:13: error: 'std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>]' is protected within this context
     istream fin, fout;
             ^~~
In file included from /usr/include/c++/7/fstream:38:0,
                 from spirale.cpp:1:
/usr/include/c++/7/istream:606:7: note: declared protected here
       basic_istream()
       ^~~~~~~~~~~~~
spirale.cpp:8:18: error: 'std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>]' is protected within this context
     istream fin, fout;
                  ^~~~
In file included from /usr/include/c++/7/fstream:38:0,
                 from spirale.cpp:1:
/usr/include/c++/7/istream:606:7: note: declared protected here
       basic_istream()
       ^~~~~~~~~~~~~
spirale.cpp:12:12: error: no match for 'operator=' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'std::istream* {aka std::basic_istream<char>*}')
     fin = &cin, fout = &cout;
            ^~~
In file included from /usr/include/c++/7/fstream:38:0,
                 from spirale.cpp:1:
/usr/include/c++/7/istream:625:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator=(std::basic_istream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_istream&& __rhs)
       ^~~~~~~~
/usr/include/c++/7/istream:625:7: note:   no known conversion for argument 1 from 'std::istream* {aka std::basic_istream<char>*}' to 'std::basic_istream<char>&&'
spirale.cpp:12:25: error: no match for 'operator=' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'std::ostream* {aka std::basic_ostream<char>*}')
     fin = &cin, fout = &cout;
                         ^~~~
In file included from /usr/include/c++/7/fstream:38:0,
                 from spirale.cpp:1:
/usr/include/c++/7/istream:625:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator=(std::basic_istream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator=(basic_istream&& __rhs)
       ^~~~~~~~
/usr/include/c++/7/istream:625:7: note:   no known conversion for argument 1 from 'std::ostream* {aka std::basic_ostream<char>*}' to 'std::basic_istream<char>&&'
spirale.cpp:117:18: error: no match for 'operator<<' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'int')
             fout << mini << " ";
             ~~~~~^~~~~~~
spirale.cpp:117:18: note: candidate: operator<<(int, int) <built-in>
spirale.cpp:117:18: note:   no known conversion for argument 1 from 'std::istream {aka std::basic_istream<char>}' to 'int'
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/bits/basic_string.h:6272:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6272:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/bits/ios_base.h:46:0,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/system_error:217:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)
     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
     ^~~~~~~~
/usr/include/c++/7/system_error:217:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)
     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:497:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)
     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:502:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:508:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:514:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:519:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:539:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)
     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
     ^~~~~~~~
/usr/include/c++/7/ostream:539:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/ostream:693:0,
                 from /usr/include/c++/7/istream:39,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/bits/ostream.tcc:321:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)
     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
     ^~~~~~~~
/usr/include/c++/7/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:556:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)
     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
     ^~~~~~~~
/usr/include/c++/7/ostream:556:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:569:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)
     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
     ^~~~~~~~
/usr/include/c++/7/ostream:569:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
     ^~~~~~~~
/usr/include/c++/7/ostream:574:5: note:   template argument deduction/substitution failed:
spirale.cpp:117:21: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
             fout << mini << " ";
                     ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:682:5: note: candidate: template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)
     operator<<(_Ostream&& __os, const _Tp& __x)
     ^~~~~~~~
/usr/include/c++/7/ostream:682:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_istream<char>&; _Tp = int]':
spirale.cpp:117:21:   required from here
/usr/include/c++/7/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
spirale.cpp:119:14: error: no match for 'operator<<' (operand types are 'std::istream {aka std::basic_istream<char>}' and '<unresolved overloaded function type>')
         fout << endl;
         ~~~~~^~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/bits/basic_string.h:6272:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6272:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/bits/ios_base.h:46:0,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/system_error:217:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)
     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
     ^~~~~~~~
/usr/include/c++/7/system_error:217:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)
     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:497:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)
     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:502:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<_CharT, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:508:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:514:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 from spirale.cpp:1:
/usr/include/c++/7/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     ^~~~~~~~
/usr/include/c++/7/ostream:519:5: note:   template argument deduction/substitution failed:
spirale.cpp:119:17: note:   'std::istream {aka std::basic_istream<char>}' is not derived from 'std::basic_ostream<char, _Traits>'
         fout << endl;
                 ^~~~
In file included from /usr/include/c++/7/istream:39:0,
                 from /usr/include/c++/7/fstream:38,
                 fro