c射线是什么CF 375C Circling Round Treasures [DP(spfa) 状压 射线法]

新闻资讯2026-04-23 14:19:57
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N=22,S=1<<8,M=N*N*S+5,INF=1e9;
inline int read()
    while(c>='0'&&c<='9')
    return x*f;
}
int n,m,g[N][N],sx,sy,val[N];
struct Object{
    int x,y,id;
    Object(int a=0,int b=0,int c=0):x(a),y(b),id(c){}
    bool operator <(const Object &r)const{return id<r.id;}
}a[N];
int p,t;
int dx[4]={1,-1,0, 0},
    dy[4]={0, 0,1,-1};
char s[N];
int d[N][N][S];
struct Grid{
    int x,y,s;
    Grid(int a=0,int b=0,int c=0):x(a),y(b),s(c){}
}q[M];
int head,tail,inq[N][N][S];
inline void lop(int &x)
inline bool isInter(int a,int b,int x1,int y1,int x2,int y2)
int HandleInter(Grid u,Grid t){
    int s=u.s;
    for(int i=0;i<8;i++)
        s^= isInter(a[i].x , a[i].y , u.x , u.y , t.x , t.y)<<i;
    return s;
}
void spfa()
        }
    }
    int ans=0;
    for(int i=0;i<S;i++) if(d[sx][sy][i]<INF)
            else _+=val[j];
        }
        if(bomb) continue;
        ans=max(ans,_-d[sx][sy][i]);
    }
    printf("%d",ans);
}
int main()
    }
    sort(a,a+p);
    for(int i=0;i<t;i++) val[i]=read();
    spfa();
}