原创 UVA10161 Ant on a Chessboard

這道題目也是找到規律就不難了。 基本思想: 注意到中間斜對角線數是有規律的。輸入n,再根據n的大小從對角線上的數開始來找。這裏要注意此時對角線上的數橫座標的奇偶性,分兩種情形討論。 //b.cpp #include<stdio.h>

原创 Java 枚舉類型

public class TestEnum { /*最普通的枚舉*/ public enum ColorSelect { red, green, yellow, blue; }

原创 HDOJ2098 分拆素數和

#include<iostream> using namespace std; bool prime(int x){// prime 函數判斷一個數是否爲素數 for(int i=2;i*i<=x;i++)//只需要窮舉到

原创 HDOJ2050 折線分割平面

運用數學公式: n條直線分的平面數是:n*(n+1)/2+1,每條折線可以看成是2條直線 所以平面數爲 2*n*(2*n+1)/2+1,又每條折線和每2條直線分的平面數相差2個故最後的平面數爲 2*n*(2*n+1)/2+1-2*n

原创 HDOJ2084 數塔(經典的動態規劃問題)

動態規劃是一種用途很廣的問題求解方法,它本身並不是一個特定的算法,而是一種思想,一種手段。 動態規劃可以說是一種犧牲空間換時間的思想。 #include<iostream> using namespace std; int a[1

原创 HDOJ1215 七夕節

這道題要用到數論上的一些知識。 根據上圖就很容易理解下面的代碼了。 方法一:篩選法 #include<iostream> using namespace std; int main(){ int t,n,s,i; s

原创 不容易系列之(3)—— LELE的RPG難題 (遞推)

這道題只要找出遞推關係式就很容易了。 設n個格子有f(n)種,分倆種情況: (1)第一個格子與第n-1個格子不同色,則第n個格子只有一種塗法,f(n)=f(n-1)*1 ; (2)第一個格子與第n-1個格子同色,即第n-1個格子只有一種塗

原创 Eclipse快捷鍵大全

Ctrl+1 快速修復(最經典的快捷鍵,就不用多說了) Ctrl+D: 刪除當前行  Ctrl+Alt+↓ 複製當前行到下一行(複製增加) Ctrl+Alt+↑ 複製當前行到上一行(複製增加) Alt+↓ 當前行和下面一行交互位置(特別實

原创 ACM算法分類

ACM 算法分類 一.水題: poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094 二.入門:  1.基本算法:   (1)枚舉. (poj

原创 HDOJ2096 小明A+B(又是一道簡單的數論題)

#include<iostream> using namespace std; int main(){ int t,a,b; scanf("%d",&t); while(t--){ scanf

原创 HDOJ2058 The sum problem

這道題如果用枚舉法肯定會超時,所以用等差數列求和公式才行。 如下圖: 注意函數sqrt( ) 的參數只能是float ,double,long double型的,所以在裏面要要把2*m 強制轉換成double 型的。 如下圖:

原创 HDOJ2018 母牛的故事

這道題就是k階斐波那契數列的小小變形,找到規律了就很簡單。 #include<iostream> using namespace std; int main(){ int n,a[60],i; while(scanf("

原创 HDOJ2057 A + B Again(十六進制數加法)

爲什麼用printf("%I64X",a+b);   不能輸出十六進制負數?求大神解答一下。 #include<iostream> using namespace std; int main(){ signed __int64

原创 sscanf( )函數的用法

sscanf( )函數的用法 SSCANF用法:(繼qsort,bsearch,strchr後發現的又一好使的函數) sscanf與scanf類似,都是用於輸入的,只是後者以鍵盤(stdin)爲輸入源,前者以固定字符串爲輸入源。 例子:

原创 abs() 與fabs() 的區別

abs( )主要用於對求整數的絕對值,在“stdlib.h”(或 <cstdlib>)頭文件裏面。 而fabs( )主要是求精度要求更高的double ,float 型的絕對值,在<cmath>頭文件裏。 兩者在只#inc