刷到oj的一道算法题希望大家看看

电子狗的心事
Description
计算机程序世界中有一位孤独的电子狗,这个电子狗每次只能执行一种操作指令:朝着现在的方向前进X米,然后左转。 电子狗认为,它不断的执行这样的指令,最终有一条指令,能使它回到曾经走过的地方。 然而,实际上,当它已经执行完给定它的n条指令时,并不一定会回到它曾经走过的地方。
并且,电子汪很想知道结果。如果给了它n条指令,在第几条指令时,它能第一次回到自己已经走过的地方。如果指令执行完,都没有回到它曾经走过的地方,电子汪将会十分伤心,这个时候请输出“regret”。
Input Format
第一行为T,表示输入数据组数。 每组数据的第一行包含一个数n,表示指令长度。接着一行包含n个数字ai,表示第i个指令中,前行的距离。
1<=T<=100
1<=n<=1 000 000
1<=ai<=1 000 000 000
Output Format
对每组数据输出第一次回到已经走过的位置时为第几条指令。 如果电子汪最终没有回到过自己走过的地方,请输出“regret”。
输入

3
6
1 1 1 1 1 1
5
1 1 2 2 3
7
1 10 20 10 19 3 1
输出

4
regret
5

#include
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        int n;
        scanf("%d",&n);
        int num[n];
        for(int i = 0 ; i < n ; i++){
            scanf("%d",&num[i]);
        }
        int r[2] = {1,-1};
        int a = 0 , b = 0;
        int flag = 0;
        for(int i = 0 ; i < n ; i++){
            if(i % 4 == 0 )
                for(int j = 0 ; j < num[i] ; j++)
                    a += r[0];
            if(i % 4 == 1 )
                for(int j = 0 ; j < num[i] ; j++)
                    b += r[0];
            if(i % 4 == 2 )
                for(int j = 0 ; j < num[i] ; j++)
                    a += r[1];
            if(i % 4 == 3 )
                for(int j = 0 ; j < num[i] ; j++)
                    b += r[1];
            
            if(a == 0 && b == 0){
                printf("%d\n",i+1);
                flag = 1;
                break;
            }      
            
        }
        if(flag == 0 )
                printf("regret\n");
    }
}

测试用例运行结果正确但是提交过不了

这里有一个格式不满足,你是输入一组就执行一组。题目的要求是输入多组,然后多组结果一起输出