Submission #1107719

# Submission time Handle Problem Language Result Execution time Memory
1107719 2024-11-02T03:50:49 Z 8pete8 Stray Cat (JOI20_stray) C++17
0 / 100
19 ms 4000 KB
#include "Anthony.h"
#include <vector>
#include<iostream>
#include<stack>
#include<map>
#include<vector>
#include<string>
#include<cassert>
#include<unordered_map>
#include <queue>
#include <cstdint>
#include<cstring>
#include<limits.h>
#include<cmath>
#include<set>
#include<algorithm>
#include <iomanip>
#include<numeric>
#include<bitset>
using namespace std;
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define ppii pair<int,pii>
#define vi vector<int>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define F(n) for(int i=0;i<n;i++)
#define lb lower_bound
#define ub upper_bound
#define fastio ios::sync_with_stdio(false);cin.tie(NULL);
#pragma GCC optimize ("03,unroll-lopps")
using namespace std;
namespace {

int FunctionExample(int i, int A) {
  return i % A;
}

}  // namespace

vector<int> Mark(int n,int m, int a, int b,vector<int> U,vector<int> V) {
  vector<int> X(m);
  vector<int>lvl(n+1,1e9),vis(n,0);
  vector<vector<pii>>adj(n);
  for(int i=0;i<m;i++){
    adj[U[i]].pb({V[i],i}),adj[V[i]].pb({U[i],i});
  }
  queue<int>q;
  lvl[0]=0;
  q.push(0);
  while(!q.empty()){
    int cur=q.front();
    q.pop();
    if(vis[cur])continue;
    vis[cur]=1;
    for(auto i:adj[cur])if(!vis[i.f]&&lvl[i.f]>lvl[cur]+1){
      lvl[i.f]=lvl[cur]+1;
      q.push(i.f);
    }
  }
  if(a>=3){
    for(int i=0;i<n;i++)for(auto j:adj[i]){
      if(lvl[j.f]<lvl[i])X[j.s]=(lvl[j.f]%3);
      else X[j.s]=lvl[i]%3;
    }
  }
  else{
    //0 0 1 1 0 1
    //1 1 0 1 0 0
    vector<int>pat={0,0,1,1,0,1};
    vector<int>val(n,0);
    function<void(int,int,int)> dfs=[&](int cur,int p,int c){
      for(auto i:adj[cur])if(i.f!=p){
        if(adj[cur].size()>2){
          c=0;
          val[i.f]=val[cur]^1;
          X[i.s]=val[i.f];
          dfs(i.f,cur,c);
        }
        else{
          if(c==0){
            val[i.f]=val[cur]^1;
            if(val[i.f])c=2;
            if(cur)c++;
            X[i.s]=val[i.f];
            dfs(i.f,cur,c+1);
          }
          else{
            val[i.f]=pat[c%6];
            X[i.s]=val[i.f];
            dfs(i.f,cur,c+1);
          }
        }
        
      }
    };
    dfs(0,-1,0);
  }
  for(int i=0;i<m;i++)cout<<U[i]<<" "<<V[i]<<" "<<X[i]<<'\n';
  return X;
}
#include "Catherine.h"
#include <vector>
#include<iostream>
#include<stack>
#include<map>
#include<vector>
#include<string>
#include<cassert>
#include<unordered_map>
#include <queue>
#include <cstdint>
#include<cstring>
#include<limits.h>
#include<cmath>
#include<set>
#include<algorithm>
#include <iomanip>
#include<numeric>
#include<bitset>
using namespace std;
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define ppii pair<int,pii>
#define vi vector<int>
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define F(n) for(int i=0;i<n;i++)
#define lb lower_bound
#define ub upper_bound
#define fastio ios::sync_with_stdio(false);cin.tie(NULL);
#pragma GCC optimize ("03,unroll-lopps")
using namespace std;
using namespace std;
namespace {

int a, b;
int variable_example = 0;
int found=0;
int add[40000];
deque<int>cor={1,0,1,1,0,0};
vector<int>have;
int st=0,last=0;
}
void Init(int A, int B){
  ::a = A;
  ::b = B;
  found=0;
  have.clear();
}
int Move(vector<int> y){
  int cnt=0;
  for(auto i:y)cnt+=!!i;
  if(a>=3){
    if(cnt==0)assert(0);
    if(cnt==1){
      for(int i=0;i<y.size();i++)if(y[i])return i;
    }
    if(cnt==2){
      if(y[0]&&y[2])return 2;
      if(y[1]&&y[2])return 1;
      if(y[0]&&y[1])return 0;
    }
    assert(0);
  }
  else{
    int one=0,two=0;
    if(st==0){
      for(int i=0;i<y.size();i++)if(y[i]==1)one++;
      if(one==1){
        st=1;
        found=1;
        for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
      }
      else{
        st=1;
        for(int i=0;i<y.size();i++)if(y[i]){
          have.pb(i);
          return last=i; 
        }
      }
      st=1;
    }
    if(!found){
      if(cnt==0){
        found=1;
        return -1;
      }
      for(int i=0;i<y.size();i++)if(y[i]>=2)two++;
      if(two){
        found=1;
        return -1;
      }
      if(have.size()<6){
        for(int i=0;i<y.size();i++)if(y[i]){
          have.pb(i);
          return last=i;
        }
      }
      else{
        int same=0;
        for(int i=0;i<6;i++){
          int yes=1;
          for(int j=0;j<6;j++)if(have[j]!=cor[j])yes=0;
          same|=yes;
          cor.push_back(cor.front());
          cor.pop_front();
        }
        found=1;
        if(!same)return -1;
      }
    }
    if(found){
      for(int i=0;i<y.size();i++)if(y[i]==1)one++;
      if(one==0)return -1;
      if(one==1){
        for(int i=0;i<y.size();i++)if(y[i])return last=i;
      }
      else{
        y[last]++;
        for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
      }
    }
  }
  assert(0);
  return -1;
}


Compilation message

Anthony.cpp:34:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
   34 | #pragma GCC optimize ("03,unroll-lopps")
      |                                        ^
Anthony.cpp:38:33: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   38 | int FunctionExample(int i, int A) {
      |                                 ^
Anthony.cpp:44:71: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   44 | vector<int> Mark(int n,int m, int a, int b,vector<int> U,vector<int> V) {
      |                                                                       ^
Anthony.cpp: In function 'std::vector<int> Mark(int, int, int, int, std::vector<int>, std::vector<int>)':
Anthony.cpp:75:60: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   75 |     function<void(int,int,int)> dfs=[&](int cur,int p,int c){
      |                                                            ^
Anthony.cpp: At global scope:
Anthony.cpp:38:5: warning: 'int {anonymous}::FunctionExample(int, int)' defined but not used [-Wunused-function]
   38 | int FunctionExample(int i, int A) {
      |     ^~~~~~~~~~~~~~~

Catherine.cpp:34:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
   34 | #pragma GCC optimize ("03,unroll-lopps")
      |                                        ^
Catherine.cpp:47:23: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   47 | void Init(int A, int B){
      |                       ^
Catherine.cpp:53:23: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   53 | int Move(vector<int> y){
      |                       ^
Catherine.cpp: In function 'int Move(std::vector<int>)':
Catherine.cpp:59:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |       for(int i=0;i<y.size();i++)if(y[i])return i;
      |                   ~^~~~~~~~~
Catherine.cpp:71:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |       for(int i=0;i<y.size();i++)if(y[i]==1)one++;
      |                   ~^~~~~~~~~
Catherine.cpp:75:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   75 |         for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
      |                     ~^~~~~~~~~
Catherine.cpp:79:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   79 |         for(int i=0;i<y.size();i++)if(y[i]){
      |                     ~^~~~~~~~~
Catherine.cpp:91:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   91 |       for(int i=0;i<y.size();i++)if(y[i]>=2)two++;
      |                   ~^~~~~~~~~
Catherine.cpp:97:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   97 |         for(int i=0;i<y.size();i++)if(y[i]){
      |                     ~^~~~~~~~~
Catherine.cpp:116:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  116 |       for(int i=0;i<y.size();i++)if(y[i]==1)one++;
      |                   ~^~~~~~~~~
Catherine.cpp:119:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  119 |         for(int i=0;i<y.size();i++)if(y[i])return last=i;
      |                     ~^~~~~~~~~
Catherine.cpp:123:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  123 |         for(int i=0;i<y.size();i++)if(y[i]==1)return last=i;
      |                     ~^~~~~~~~~
Catherine.cpp: At global scope:
Catherine.cpp:42:5: warning: '{anonymous}::add' defined but not used [-Wunused-variable]
   42 | int add[40000];
      |     ^~~
Catherine.cpp:40:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
   40 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 3908 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 3908 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 3908 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 3908 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 784 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 13 ms 3484 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 19 ms 4000 KB Program didn't exit properly, or you printed something to stdout.
2 Halted 0 ms 0 KB -