UVa1594

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

int N,n,num[1005];
bool x = true;
mapM;

void find(const string& s){
      if(M.count(s)){
          printf("LOOP\n");
          x = false;
          return;
      }
      M[s]=8;
}

int main()
{
     //freopen("in.txt","r",stdin);
     string s;
     scanf("%d",&N);
     start:while(N--){
          x=true;
          scanf("%d",&n);
          M.clear();
          for(int i = 0 ; i

     思路:

                    1. 传入数字个数n,建立数组int num[];

                    2. 首先看是否都为零,如果是则为ZERO;如果不是则将数组中的字符统一转变为字符串后
                        搜寻find(),放入map中看是否能找到,找到则为LOOP,找不到则++;

                    3. while(1){
                            for(int i = 0 ; i                                     num[i%n] = abs(num[i%n] - num[(i+1)%n];
                            }
 

       知识点:
                     1. 字符串转数字,数字转字符串用法
                         https://blog.csdn.net/touzani/article/details/1623850
 

你可能感兴趣的:(#,未归类OJ题)