mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-10-29 19:42:40 +00:00
Compare commits
No commits in common. "2e2a747e5ec53da4f277afdf7ed361a46a3d6477" and "207da4b69968fe19d28e615f0e763dec76ba1c68" have entirely different histories.
2e2a747e5e
...
207da4b699
@ -1,83 +0,0 @@
|
|||||||
#include <cstdint>
|
|
||||||
#include <deque>
|
|
||||||
#include <iostream>
|
|
||||||
#include <istream>
|
|
||||||
using ll = int64_t;
|
|
||||||
|
|
||||||
const ll maxn = 1000+5;
|
|
||||||
ll n,m;
|
|
||||||
ll a[maxn][maxn];
|
|
||||||
struct D{
|
|
||||||
ll x,y,d;
|
|
||||||
bool is2,ish;
|
|
||||||
};
|
|
||||||
std::deque<D> d;
|
|
||||||
bool vis[maxn][maxn][4];
|
|
||||||
const ll dir[4][2]={
|
|
||||||
{1,0},
|
|
||||||
{-1,0},
|
|
||||||
{0,1},
|
|
||||||
{0,-1}
|
|
||||||
};
|
|
||||||
|
|
||||||
int main(){
|
|
||||||
std::iostream::sync_with_stdio(false);
|
|
||||||
std::cin.tie(nullptr);
|
|
||||||
|
|
||||||
std::cin>>n>>m;
|
|
||||||
for(ll i=1;i<=n;i++){
|
|
||||||
for(ll j=1;j<=m;j++){
|
|
||||||
std::cin>>a[i][j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
d.emplace_back(1,1,0,false);
|
|
||||||
while (d.size()) {
|
|
||||||
auto[x,y,dd,is2,ish] = d.front();
|
|
||||||
d.pop_front();
|
|
||||||
if(ish && a[x][y]==4){
|
|
||||||
ll nx = x+dir[dd][0], ny=y+dir[dd][1];
|
|
||||||
if(a[nx][ny]==3){
|
|
||||||
if(vis[nx][ny][is2])continue;
|
|
||||||
}else if(a[nx][ny]==4){
|
|
||||||
if(vis[nx][ny][dd])continue;
|
|
||||||
}else if(vis[nx][ny][0])continue;
|
|
||||||
|
|
||||||
if(ll na=a[nx][ny];na==0){
|
|
||||||
continue;
|
|
||||||
}else if(na==1){
|
|
||||||
d.emplace_back(nx,ny,dd,false,false);
|
|
||||||
vis[nx][ny][0]=true;
|
|
||||||
}else if(na==2){
|
|
||||||
d.emplace_back(nx,ny,dd,true,false);
|
|
||||||
vis[nx][ny][0]=true;
|
|
||||||
}else if(na==3){
|
|
||||||
continue;
|
|
||||||
}else if(na==4){
|
|
||||||
d.emplace_back(nx,ny,dd,false,true);
|
|
||||||
vis[nx][ny][dd]=true;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
for(ll i=0;i<4;i++){
|
|
||||||
ll nx = x + dir[i][0], ny = y+dir[i][1];
|
|
||||||
|
|
||||||
if(ll na = a[nx][ny];na==0){
|
|
||||||
continue;
|
|
||||||
}else if(na==1){
|
|
||||||
d.emplace_back(nx,ny,i,false,false);
|
|
||||||
vis[nx][ny][0]=true;
|
|
||||||
}else if(na==2){
|
|
||||||
d.emplace_back(nx,ny,i,true,false);
|
|
||||||
vis[nx][ny][0]=true;
|
|
||||||
}else if(na==3){
|
|
||||||
if(is2){
|
|
||||||
d.emplace_back(nx,ny,i,true,false);
|
|
||||||
vis[nx][ny][is2]=true;
|
|
||||||
}
|
|
||||||
}else if(na==4){
|
|
||||||
d.emplace_back(nx,ny,i,false,true);
|
|
||||||
vis[nx][ny][i]=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
#include <algorithm>
|
|
||||||
#include <cstdint>
|
|
||||||
#include <cstdio>
|
|
||||||
#include <iostream>
|
|
||||||
using ll = int64_t;
|
|
||||||
|
|
||||||
|
|
||||||
int main(){
|
|
||||||
ll n,k,m;
|
|
||||||
std::cin>>n>>k>>m;
|
|
||||||
for(ll x=25;x<=25;x++){
|
|
||||||
ll g=0;
|
|
||||||
for(ll i=1;i<=k;i++){
|
|
||||||
ll y=(n-g)/x;
|
|
||||||
y=std::max(y,m);
|
|
||||||
g+=y;
|
|
||||||
printf("i=%lld, g=%lld\n",i,g);
|
|
||||||
}
|
|
||||||
printf("-- x=%lld, g=%lld\n\n",x,g);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -25,5 +25,5 @@ int main(){
|
|||||||
nowWait+=a[i].first;
|
nowWait+=a[i].first;
|
||||||
}
|
}
|
||||||
std::cout<<std::fixed<<std::setprecision(2)<<'\n'<<(double(sumWait)/double(n))<<'\n'<<std::flush;
|
std::cout<<std::fixed<<std::setprecision(2)<<'\n'<<(double(sumWait)/double(n))<<'\n'<<std::flush;
|
||||||
_Exit(0);
|
quick_exit(0);
|
||||||
}
|
}
|
||||||
@ -83,5 +83,5 @@ int main(){
|
|||||||
base[0][1]=base[1][0]=base[1][1] = 1;
|
base[0][1]=base[1][0]=base[1][1] = 1;
|
||||||
base = fp(base,n);
|
base = fp(base,n);
|
||||||
std::cout<<(base[0][1]+base[1][1])%p<<'\n'<<std::flush;
|
std::cout<<(base[0][1]+base[1][1])%p<<'\n'<<std::flush;
|
||||||
_Exit(0);
|
quick_exit(0);
|
||||||
}
|
}
|
||||||
@ -25,5 +25,5 @@ int main(){
|
|||||||
|
|
||||||
std::cout<<std::fixed<<std::setprecision(4)<<dp[n][n]<<'\n';
|
std::cout<<std::fixed<<std::setprecision(4)<<dp[n][n]<<'\n';
|
||||||
std::flush(std::cout);
|
std::flush(std::cout);
|
||||||
_Exit(0);
|
quick_exit(0);
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user