USACO各種思想好題歸納

2021-06-20 15:51:31 字數 2985 閱讀 9165

section 1.1

prob broken necklace

這裡也是巧解……

/*id:liwei101

prog:beads

lang:c++

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1.0)

#define mem(a,b) memset(a,b,sizeof(a))

#define sca(a) scanf("%d",&a)

#define pri(a) printf("%d\n",a)

#define mm 1000002

#define mn 2005

#define inf 168430090

using namespace std;

typedef long long ll;

int main()

for(i=min; i

section 1.2  name that number

剛開始是想把數字轉化為字母接成字串再在檔案中查詢的,不過太麻煩了,想想這些題目應該**都比較少,所以反過來想……

把字母轉化成數字不就容易很多了嘛!哎呀……思維確實不能定勢啊!

/*id:liwei101

prog:namenum

lang:c++

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1.0)

#define mem(a,b) memset(a,b,sizeof(a))

#define sca(a) scanf("%d",&a)

#define pri(a) printf("%d\n",a)

#define mm 1000002

#define mn 2005

#define inf 168430090

using namespace std;

typedef long long ll;

int main()

{ ifstream fin("namenum.in");

ofstream fout("namenum.out");

ifstream dict("dict.txt");

string s,ss;

int a[27],flag=1;

a['a'-'a']=a['b'-'a']=a['c'-'a']=2;

a['d'-'a']=a['e'-'a']=a['f'-'a']=3;

a['g'-'a']=a['h'-'a']=a['i'-'a']=4;

a['j'-'a']=a['k'-'a']=a['l'-'a']=5;

a['m'-'a']=a['n'-'a']=a['o'-'a']=6;

a['p'-'a']=a['r'-'a']=a['s'-'a']=7;

a['t'-'a']=a['u'-'a']=a['v'-'a']=8;

a['w'-'a']=a['x'-'a']=a['y'-'a']=9;

fin>>ss;

while(dict>>s)

{string sss;

for(int i=0;i

section 1.2  

palindromic squares

進製轉換,很多沒有做關於進製轉換的題了,這個題也給了自己乙個醒,不然都忘了怎麼轉換了……

/*prog:palsquare

lang:c++

id:liwei101

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1.0)

#define mem(a,b) memset(a,b,sizeof(a))

#define sca(a) scanf("%d",&a)

#define pri(a) printf("%d\n",a)

#define f(i,a,n) for(i=a;i>b;

for(i=1;i<=300;i++)

{string s1=convert(i,b);

string s2=convert(i*i,b);

if(cmp(s2)) fout<

section 1.2  

prob dual palindromes

又是一道進製轉化題……修正了string的倒序快速用法……

/*prog:dualpal

lang:c++

id:liwei101

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1.0)

#define mem(a,b) memset(a,b,sizeof(a))

#define sca(a) scanf("%d",&a)

#define pri(a) printf("%d\n",a)

#define f(i,a,n) for(i=a;i>n>>m;

for(i=m+1;;i++)

{sum=0;

for(j=2;j<11;j++)

{string s1=convert(i,j);

if(cmp(s1)&&(++sum)==2)

{fout<

prob dual palindromes

什麼是物件導向思想?好處是什麼?

什麼是物件導向思想?優化好處?設計模式和物件導向思想的關係?不用設計模式或者不可以使用物件導向思想會有什麼問題?問題或或者場景?生活中 如曹操 寫的詩句 喝酒唱歌,人生真爽 到 對酒當歌,人生真爽 再到 對酒當歌,人生幾何 臣子命令工匠連夜印刷,作為小小印刷工匠的你是不是想罵娘 怎麼老是改呢,還讓不...

測試思想 好東西與大家分享 1

一 問題 許多測試類書籍中都有大幅的篇章介紹用例的設計方法,如等價類劃分,邊界值,錯誤推斷,因果圖等。但實際應用中這些理論卻不能給我們很明確的行為指導,尤其是業務複雜,關聯模組緊密,輸入標準和輸出結果間路徑眾多時,完全的遵循這些方法只能讓我們在心理上得到一種滿足,而無法有效的提高測試效率。有時我們只...

C語言各種排序思想

1 氣泡排序 如果是公升序,就是把最大的數排到末尾,末尾下標向前移動,利用相鄰數字比較大小實現把最大的數排到末尾,a j 和a j 1 比較大小,如果a j 1 大則交換。這樣兩兩交換下來,最後乙個肯定最大,最後乙個已經排好,下次迴圈不用再排,所以下標做減一操作。include include in...