第七周組隊賽130825

2021-06-18 02:43:58 字數 1590 閱讀 4763

今晚和教主一組,教主太神,連a四題,而且都是1a!都是用暴搜過的,暴搜大王。。

a題:給你多個立方體,最大能堆起幾個(小的必須在上面,立方體可以旋轉使所得面滿足條件)

我寫了好久,一直tle,後來看了教主的,還是tle,先不貼了,就是dfs呀,就是

b題:給出n個點,任意找一點,使得這點帶其他點的曼哈頓距離最短,可以知道這點的座標肯定在這些點的組合當中

直接搜**:

#include //b

#include #include #include #include #include #include #include #define lson l,mid,num<<1

#define rson mid+1,r,num<<1|1

using namespace std;

const int m=1005;

int x[m],y[m];

int dis(int x,int y)

int main()}}

}}}}

}int main()

}printf("case %d: %d\n",t++,i);

}else if(s[0]=='u')

}return 0;

}

g題:賽中跟隊友討論了好久,差點吵起來了,唉~以後多努力

不過我們那種方法會超時,賽後亮神說使用floyd先把所有關係的求出來,並且是最短路,再求就可以

#include //g

#include #include #include #include #include #include #include #define lson l,mid,num<<1

#define rson mid+1,r,num<<1|1

using namespace std;

#define inf 0x7fffffff

#define eps 1e-8

const int m=100001;

double link[15][15];

int num;

void floyd()}}

}int main()

link[i][i]=1;

}num=0;

for(int kk=1; kk<=n; kk++)

if(!st[s2])

int x=st[s1];

int y=st[s2];

link[x][y]=min(link[x][y],1.0*b/a);//wa的原因把它兩求反了

link[y][x]=min(link[y][x],1.0*a/b);

}int aa;

string bb;

cin>>aa>>bb;

floyd();

int gg=st[bb];

double sum=inf;

int ff=gg,jj=0;

for(int i=1; i<=num; i++)}}

printf("case %d: %d %s\n",t,jj,ss[ff].c_str());

}return 0;

}

20110805 組隊賽 f題

測試資料有多組,對於每組資料,第一行為乙個整數n 1 n 10000 表示表示式中數字的個數,其後的第i 1行每行有乙個整數表示xi的值 1 i n 1 xi 1000000000 對於每組資料,如果你能幫阿里巴巴開啟石門,輸出yes,否則輸出no。58421143579 yesno 這是劉汝佳黑書...

130804組隊練習賽ZOJ校賽

a.ribbon gymnastics 題目要求四個點作圓,且圓與圓之間不能相交的半徑之和的最大值。我當時想法很簡單,只要兩圓相切,它們的半徑之和一定最大,但是要保證不能相交的話就只能取兩兩個點間距離和最短的作為半徑和最大的。到現在也不是非常清楚為什麼可以a,我們帶錯節奏了。include incl...

第七周 周一 鏈隊

問題描述 01.02.05.檔名稱 111.cpp 06.作 者 田 07.完成日期 2015年10月12日 08.版 本 號 v1.0 09.10.問題描述 鏈隊 11.程式輸出 標頭檔案 ifndef liqueue h included define liqueue h included ty...