原创 [水]ZOJ1797

求一列數的lcm 順着求就好,python也有自帶的gcd import sys T=int(raw_input()) while(T!=0): T-=1 a=sys.stdin.readline() l=a.sp

原创 [水]ZOJ1539

一列人有n個如果n比3大的話,就可以讓偶數位的人出隊或者奇數位的出隊,3個人就直接出隊,問有多少種出隊方法 直接dfs就好 def dfs(n): if (n<3): return 0 if (n==3):

原创 [水]ZOJ1763

求當前數和前一個數的差 python原來也支持c哪種輸出方法 fst=0 pre=0.0 try: while True: n=float(raw_input()) if(n==999):

原创 ZOJ3818

題意: 給一個字符串,判斷它是否爲ABABA或ABABCAB的形式 題解:枚舉AB和C的長度,【坑】ABC都不能相同【被坑了好多次】,然後暴力判斷是否符合要求即可 string.substr(i,l) --》取從第i位置長度爲l的子串 #

原创 ZOJ1589

給出若干大小關係, 然後輸出由此能推出的其他大小關係 很明顯這個有傳遞閉包的性質 於是floyed搞過去 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>

原创 ZOJ1730

題意:編號爲1...n的人做成一圈,問最少多少步讓每個人的左手邊的人變爲右手邊的人,右手邊的人變爲左手邊的人 題解:把它“平均”分成兩部分,k+k 或 k+(k+1)個 然後分別倒置過來就好。每一部分倒置需要的操作數爲nn(nn-1)/2

原创 ZOJ1657

哥德巴赫猜想:給一個大於等於4的偶數,問有多少無序質數對(p1,p2)使得n=p1+p2 篩法求素數然後for一下過去 #include <bits/stdc++.h> using namespace std; bool prime[10

原创 ZOJ1608

給一個矩形和兩個圓的半徑問是否能放得下 假設一個放在左下角一個放在右上角,然後如果兩個圓的距離大於等於半徑和那麼就可行,不然不可行 #include<bits/stdc++.h> using namespace std; double a

原创 [水]ZOJ1652

典型的遞推 對於第n個Z 兩個平行的“——”每個與前面直線有3(n-1)個交點 對於最後一個與前面3(n-1)*2個交點,多了3(n-1)*2+1*2個區域  "/"與前面3n-1條直線產生3n-1+1 -2*(2) 個區域【因爲不能出頭

原创 ZOJ1629

給圖中這樣的三角形(這個是n=2的時候)然後給n問有多少個三角形 我們按照向上和向下 分開統計 n          向上           向下 1            1               0 2          

原创 ZOJ1508

給若干個區間.然後告訴 你每個區間中有多少個1 問,最少需要多少個1才能滿足給定的要求 發現都是差分約束搞的,但是貪心也可以 ...排序後把1儘量往後放就好... #include <bits/stdc++.h> using namesp

原创 [水]ZOJ2201

 a>=b輸出mmm a<b輸出無腦 #include<bits/stdc++.h> using namespace std; int main() { int T; //freopen("a.in","r",stdin

原创 [水]ZOJ2417

給十進制求二進制最後一個非零位 樹狀數組的lowbit操作 #include<bits/stdc++.h> using namespace std; int main() { int n; while (cin>>n&&

原创 [水]ZOJ3322

給兩個日期,問年齡誰大 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>pii; typedef pair<pii,int>piii; int main

原创 ZOJ1619

n個人一人拿出一個禮物,然後取走,問恰好m個人自己拿到自己的禮物的概率是多少 錯排公式的使用,在n個人中選出m個人拿到自己的禮物,剩下錯排就好 python is soooooooooooooo good D(n) = n! [(-1)^