Submission #789948

#TimeUsernameProblemLanguageResultExecution timeMemory
789948AmylopectinParachute rings (IOI12_rings)C++14
0 / 100
107 ms262144 KiB
#include <stdio.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int mxn = 4e7 + 10;
// const int mxn = 110;
vector <int> pat[mxn] = {},clii;
int n,u[mxn] = {},ccou,pcou[mxn] = {},p1,p2,rdep,of,of2,cyc[mxn] = {},cymi,depp[mxn] = {};
int re(int cn,int be,int pro)
{
    int i,j,fn,cou = 0;
    u[cn] = 1;
    for(i=0; i<pat[cn].size(); i++)
    {
        fn = pat[cn][i];
        if(fn == pro)
        {
            continue;
        }
        cou ++;
        if(fn == be)
        {
            continue;
        }
        if(u[fn] == 1)
        {
            of2 = 1;
            continue;
        }
        re(fn,cn,pro);
        if(of == 1)
        {
            return 0;
        }
    }
    if(cou > 2)
    {
        of = 1;
    }
    // if(cou == 1)
    // {
    //     of2 = 1;
    // }
    return 0;
}
void Init(int nn) 
{
  int i,j,m;
  n = nn;
//   for(i=0; i<n; i++)
//   {
//     ggr[i] = i;
//     typ[i] = 0;
//     sta[i] = 1;
//     nmem[i] = 1;
//   }
  return ;
}
void Link(int cl, int cr) 
{
    pat[cl].push_back(cr);
    pat[cr].push_back(cl);
}

int CountCritical() 
{
    int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;

    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            u[j] = 0;
        }
        fal = 0;
        for(j=0; j<n; j++)
        {
            if(j != i && u[j] == 0)
            {
                of = 0;
                of2 = 0;
                re(j,-1,i);
                if(of == 1 || of2 == 1)
                {
                    fal = 1;
                    break;
                }
            }
        }
        // for(j=0; j<pat[i].size(); j++)
        // {
        //     cn = pat[i][j];
        //     if(u[j] == 0)
        //     {
        //         of = 0;
        //         of2 = 0;
        //         re(cn,-1,i);
        //         if(of == 1 || of2 == 1)
        //         {
        //             fal = 1;
        //             break;
        //         }
        //     }
        // }
        if(fal == 0)
        {
            ans ++;
        }
    }
    return ans;

}

Compilation message (stderr)

rings.cpp: In function 'int re(int, int, int)':
rings.cpp:14:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     for(i=0; i<pat[cn].size(); i++)
      |              ~^~~~~~~~~~~~~~~
rings.cpp:12:11: warning: unused variable 'j' [-Wunused-variable]
   12 |     int i,j,fn,cou = 0;
      |           ^
rings.cpp: In function 'void Init(int)':
rings.cpp:49:7: warning: unused variable 'i' [-Wunused-variable]
   49 |   int i,j,m;
      |       ^
rings.cpp:49:9: warning: unused variable 'j' [-Wunused-variable]
   49 |   int i,j,m;
      |         ^
rings.cpp:49:11: warning: unused variable 'm' [-Wunused-variable]
   49 |   int i,j,m;
      |           ^
rings.cpp: In function 'int CountCritical()':
rings.cpp:68:13: warning: unused variable 'm' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |             ^
rings.cpp:68:23: warning: unused variable 'cn' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |                       ^~
rings.cpp:68:26: warning: unused variable 'cm' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |                          ^~
rings.cpp:68:29: warning: unused variable 'fn' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |                             ^~
rings.cpp:68:32: warning: unused variable 'fm' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |                                ^~
rings.cpp:68:35: warning: unused variable 'cou' [-Wunused-variable]
   68 |     int i,j,m,ans = 0,cn,cm,fn,fm,cou,fal;
      |                                   ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...