Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 968 Bila : Martie 23, 2015, 14:31:29
Buna ziua, am si eu o nelamurire. Am rezolvat aceasta problema, am trimis-o si am luat 0 puncte(la toate testele scrie: "Incorect"). Am descarcat testele si imi da rezultatul bun, dar pe jumatate depaseste timpul. Va las sursa mai jos, daca poate cineva sa se uite pe ea sa-mi spuna daca defapt am gresit eu ceva.

#include<iostream>
#include<fstream>
using namespace std;
int x[130][130],i,j,m,n,qq,maxim,l,c,minim=100000;
short q[130][130];
int main()
{
    fstream in("0-bila.in");
    ofstream out("bila.out");
    in>>n>>m;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            in>>x[j];
        }
    }
    for(i=0;i<=n+1;i++)
    {
        x
  • =100000;
        x[m+1]=100000;
    }
    for(i=0;i<=m+1;i++)
    {
        x[0]=100000;
        x[n+1]=100000;
    }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            q[j]++;
            l=i;
            c=j;
            while(x[l][c]>x[l][c-1] || x[l][c]>x[l][c+1] || x[l][c]>x[l+1][c] || x[l][c]>x[l-1][c])
            {

                if(x[l][c]>x[l][c-1] && x[l][c-1]<x[l][c+1] && x[l][c-1]<x[l+1][c] && x[l][c-1]<x[l-1][c])
                {
                    c--;
                }
                else
                {
                    if(x[l][c]>x[l][c+1] && x[l][c+1]<x[l][c-1] && x[l][c+1]<x[l+1][c] && x[l][c+1]<x[l-1][c])
                        c++;
                    else
                    {
                       if(x[l][c]>x[l+1][c] && x[l+1][c]<x[l][c-1] && x[l+1][c]<x[l][c+1] && x[l+1][c]<x[l-1][c])
                            l++;
                       else
                       {
                           if(x[l][c]>x[l-1][c] && x[l-1][c]<x[l][c-1] && x[l-1][c]<x[l][c+1] && x[l-1][c]<x[l+1][c])
                            l--;
                       }
                    }
                }
                q[j]++;

            }
        }
    }
            for(i=1;i<=n;++i)
            {
                for(j=1;j<=m;j++)
                {
                    if(q[j]>maxim)
                        maxim=q[j];
                }
            }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
            {
                if(q[j]==maxim && x[j]<minim)
                    minim=x[j];
            }
        }
        out<<maxim<<' '<<minim<<'\n';
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines