#27215: 降維、雙指標法


whitestorm2003 (小神yeah)

學校 : 淡江大學
編號 : 104854
來源 : [122.100.88.26]
最後登入時間 :
2024-03-10 18:04:04
b367. 翻轉世界 -- 自己 | From: [49.159.107.86] | 發表日期 : 2021-09-19 04:45

#include <iostream>

 

#define Arr(arr, idx) *(arr + idx)

 

bool fn_Check(int* intarr_Num, int int_Size);

 

int main()

{

    std::ios_base::sync_with_stdio(false);

    std::cin.tie(0);

    

    int int_Count;

    

    std::cin>> int_Count;

    

    while(int_Count--)

    {

        int int_YSize, int_XSize;

        

        std::cin>> int_YSize >> int_XSize;

        

        int intarr_Num[int_YSize][int_XSize];

        

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

        {

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

            {

                std::cin>> intarr_Num[i][j];

            }

        }

        

        if(fn_Check(reinterpret_cast<int*>(intarr_Num), sizeof(intarr_Num) / sizeof(int))) std::cout<< "go forward\n";

        else std::cout<< "keep defending\n";

    }

    

    return 0;

}

 

bool fn_Check(int* intarr_Num, int int_Size)

{

    for(int int_LIdx = 0, int_RIdx = int_Size - 1; int_LIdx < int_RIdx; int_LIdx++, int_RIdx--)

    {

        if(Arr(intarr_Num, int_LIdx) != Arr(intarr_Num, int_RIdx)) return false;

    }

    

    return true;

}

 
#27224: Re:降維、雙指標法


joey13130905@gmail.com (笨呆瓜)

學校 : 淡江大學
編號 : 89206
來源 : [1.163.240.33]
最後登入時間 :
2023-11-06 14:53:44
b367. 翻轉世界 -- 自己 | From: [114.35.245.150] | 發表日期 : 2021-09-19 19:29

#include

 

#define Arr(arr, idx) *(arr + idx)

 

bool fn_Check(int* intarr_Num, int int_Size);

 

int main()

{

    std::ios_base::sync_with_stdio(false);

    std::cin.tie(0);

    

    int int_Count;

    

    std::cin>> int_Count;

    

    while(int_Count--)

    {

        int int_YSize, int_XSize;

        

        std::cin>> int_YSize >> int_XSize;

        

        int intarr_Num[int_YSize][int_XSize];

        

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

        {

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

            {

                std::cin>> intarr_Num[i][j];

            }

        }

        

        if(fn_Check(reinterpret_cast<int*>(intarr_Num), sizeof(intarr_Num) / sizeof(int))) std::cout<< "go forward\n";

        else std::cout<< "keep defending\n";

    }

    

    return 0;

}

 

bool fn_Check(int* intarr_Num, int int_Size)

{

    for(int int_LIdx = 0, int_RIdx = int_Size - 1; int_LIdx < int_RIdx; int_LIdx++, int_RIdx--)

    {

        if(Arr(intarr_Num, int_LIdx) != Arr(intarr_Num, int_RIdx)) return false;

    }

    

    return true;

}

牛B

 
ZeroJudge Forum