Cod sursa(job #2341178)

Utilizator AnnaLipianuLipianu Ana AnnaLipianu Data 11 februarie 2019 17:25:48
Problema Robot Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <bitset>
#include<cstdio>
#define NMAX 200
using namespace std;
int a[NMAX+1][NMAX+1];
int n,m;
int absolut(int a, int b)
{
    a=a-b;
    if(a<0)
        a=a*(-1);
    return a;
}
int semn;
int recursiv(int col, int lin, int a[NMAX+1][NMAX+1], int val)
{
    if(lin==n)
        if(val<=0)
            return 0;
        else
        {
            semn=1;
            return 1;
        }
    else
        if(val<0)
            return 0;
        else
        {
            if(col>1)
                recursiv (col-1,lin+1,a,val-absolut(a[lin][col],a[lin+1][col-1]));
            recursiv (col,lin+1,a,val-absolut(a[lin][col],a[lin+1][col]));
            if(col<m)
                recursiv (col+1,lin+1,a,val-absolut(a[lin][col],a[lin+1][col+1]));
        }
}


int main()
{
    int i,j, p;
    freopen("robot.in","r",stdin);
    freopen("robot.out","w",stdout);
    scanf("%d%d%d",&p,&n,&m);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            scanf("%d",&a[i][j]);
    for(i=1;i<=m;i++)
    {
        semn=0;
        int w=recursiv(i,1,a,p);
        if(semn==1)
            printf("%d ",i);
    }
    return 0;
}