Function Run Fun(AC)

2013 단어 function
#include<iostream>

using namespace std;



int main()

{

    int array[21][21][21];



    for (int i=0; i<=20; i++)

    {

        for (int j=0; j<=20; j++)

        {

            for (int k=0; k<=20; k++)

            {

                if (i == 0 || j == 0 || k == 0)

                {

                    array[i][j][k] = 1;

                }

            }

        }

    }

    for (int i=1; i<=20; i++)

    {

        for (int j=1; j<=20; j++)

        {

            for (int k=1; k<=20; k++)

            {

                if (i < j && j < k)

                {

                    array[i][j][k] = array[i][j][k-1] + array[i][j-1][k-1]

                                     - array[i][j-1][k];

                }

                else

                {

                    array[i][j][k] = array[i-1][j][k] + array[i-1][j-1][k]

                                     + array[i-1][j][k-1] - array[i-1][j-1][k-1];

                }

            }

        }

    }

    int a, b, c;

    cin >> a >> b >> c;

    while (!(a == -1 && b == -1 && c == -1))

    {

        cout << "w" << "(" << a << ", " << b << ", " << c << ")" << " = ";

        if (a <= 0 || b <= 0 || c <= 0)

        {

            cout << "1" << endl;

        }

        else if (a > 20 || b > 20 || c > 20)

        {

            cout << "1048576" << endl;

        }

        else

        {

            cout << array[a][b][c] << endl;

        }

        cin >> a >> b >> c;

    }

    return 0;

}


처음에 제출할 때 틀렸습니다. 참고http://www.cppblog.com/hunter/archive/2008/11/16/67046.aspx,while 순환의 앞의 두 if문장을 위치를 바꾸면 됩니다.

좋은 웹페이지 즐겨찾기