演算法競賽入門經典例題

2021-08-15 15:41:56 字數 1102 閱讀 2407

7744問題

問題:輸出所有形如aabb的四位完全平方數(即前兩位數字相等,後兩位數字也相等)

#include

#include

int main()

開燈問題

#include

#include

#define maxn 1010

int a[maxn];

int main(){

int n,k,first=1;

memset(a,0,sizeof(a));//作用將陣列清零;在string.h中定義

scanf("%d%d",&n,&k);

for(int i=1;i<=k;i++)//k個人

for(int j=1;j<=n;j++)//n盞燈

if(j%i==0)a[j]=!a[j];//第n個人按下n的倍數開關 ,關掉的燈將被開啟,開著的燈將被關閉

for(int i=1;i<=n;i++){

if(a[i]){//判斷輸出的變數是否為第乙個,如果是  first清零  輸出第乙個數 ,無空格

if(first)

first=0;

else printf(" ");

printf("%d",i);)

printf("\n");

return 0;

蛇形填數

#include

#include

#define maxn 20

int a[maxn][maxn];

int main(){

int n,x,y,tot=0;

scanf("%d",&n):

memset(a,0,sizeof(a));

tot=a[x=0][y=n-1]==1;

while(totwhile(x+1while(y-1>=0 && !a[x][--y])a[x][--y]=++tot;//向左走

while(x-1>=0 &&a[x--][y])a[x--][y]=++tot;//向上走

while(y+1for(x=0;xfor(y=0;yprintf("%3d",a[x][y]);

printf("\n");

return 0;

演算法競賽入門經典 例題4 1

uva1339 ancient cipher 題目意思為判斷明文是否可以經過位置變換以及字母替換得到密文。因為不需要輸出替換方案,只判斷存在性,那就先不考慮搜尋。位置變換不用考慮,因為只要長度一樣,就肯定能逆回去,關鍵是字母替代。可以把明文和密文先進行排序,然後看模式是否相同,比如題目中第一組測試資...

演算法競賽入門經典 例題4 5

uva512 spreadsheet tracking 給定乙個 和一些操作序列,輸出給定單元格在這些操作後的位置。如果在整個 上模擬操作,那麼就需要記錄原始 和最終 中每乙個單元格的對應關係,比如可以通過給單元格內容編號,新加入的單元格編號全0,刪除原始單元格則編號全部改 1,最後在整個 中搜尋原...

演算法競賽入門經典 例題9 5

uva 12563 jin ge jin qu hao 這題的背景我也是服了。這是乙個揹包問題,可以簡述為有n首歌,每首歌只能唱1次,要求在所剩不多的t秒內,唱盡可能多的歌,同時唱得盡可能的長。這樣即使最後只剩1秒,點一首超長的就能多唱好久。按照給定歌曲的順序,依次決定要不要唱這首歌就好了。如果不唱...