djl為了避免成為乙隻鹹魚,來找srwudi學習壓**的技巧。
srwudi的家是一幢h層的摩天大樓。由於前來學習的蒟蒻越來越多,srwudi改造了乙個跳樓機,使得訪客可以更方便的上樓。
經過改造,srwudi的跳樓機可以採用以下四種方式移動:
1、向上移動x層;
2、向上移動y層;
3、向上移動z層;
4、回到第一層。
乙個月黑風高的大中午,djl來到了srwudi的家,現在他在srwudi家的第一層,碰巧跳樓機也在第一層。djl想知道,他可以乘坐跳樓機前往的樓層數。
第一行乙個整數h,表示摩天大樓的層數。
第二行三個正整數,分別表示題目中的x, y, z。
一行乙個整數,表示djl可以到達的樓層數。
15 4 7 9
9 樣例解釋
可以到達的樓層有:1,5,8,9,10,12,13,14,15
對於20%的資料,1≤h, x, y, z≤100;
對於40%的資料,1≤h, x, y, z≤10^5;
對於100%的資料,1≤h≤10^18,1≤x, y, z≤10^5。
設f[i]為(ax+by+cz+1)%x=i的最小的數
顯然,每個數對答案的貢獻為(h-f[i])/x+1
統計f[i]可以運用最短路來實現
#include
#include
#include
#include
#define ll long long
using
namespace
std;
const ll inf=1e18+77;
const
int maxn=1e5+77;
int x,y,z,list[maxn],cnt=0;
ll h,ans=0,f[maxn];
bool b[maxn];
struct e
e[maxn*6];
void add(int u,int v,int val)
void spfa()
}b[u]=0;
}}int main()
JZOJ A組 量子糾纏
第一行包含乙個正整數 m,代表運算元。接下來 m 行,每行可能有以下形式 1 s 代表將數字串 s 加入資訊集中 2 s 代表詢問數字串 s 是否在資訊集中 3 a b 代表使數字串 a 和 b 互相糾纏 對於每乙個 2 操作,如果詢問串不在集合中,請輸出一行乙個整數 0,否則輸出一行乙個整 數 1...
JZOJ A組 傳送門
8102年,normalgod在glados的幫助下,研製出了傳送槍。但glados想把傳送槍據為己有,於是把normalgod扔進了一間實驗室。這間實驗室是一棵有n個節點的樹。現在normalgod在一號節點,出口也在一號節點,但為了開啟它,必須經過每乙個節點按下每個節點的開關,出口才能開啟。gl...
JZOJ A組 拯救奶牛
貝希被困在乙個三角形的迷宮之中。這個迷宮有n行 1 n 1000000 比如下圖是乙個3行的迷宮。迷宮的第i行有2 i 1個三角形,從左到右分別編號為 i,1 i,2 等等。貝希每次可以從乙個三角形走到任意乙個乙個跟當前的三角形有鄰邊的三角形。比如說,如果她目前處於三角形 3,3 那麼,她可以走到三...