a.best friend forever
b.card game(second edition)
#include
#include
#include
#include
#include
using
namespace
std;
int a[11111];
int b[11111];
int main()
for(int i=1;i<=n;i++)
// coutint tmp1=0,tmp2=0;
for(int i=1;i<=n;i++)
// coutprintf("case %d: %.2lf\n",++cas,ans);
}return
0;}
c.bond
d.the bigger the better
給你兩個數列,讓你拼湊出最大的整數。
注意相同數字出現的時候的考慮,以及memcmp,memset的使用。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long int
#define inf 0x3f3f3f3f
#define irish_moonshine main
const
int maxn = 2e5 + 2333;
int a[maxn];
int b[maxn];
int ans[maxn];
int irish_moonshine()
else }}
while (pos1 < n) ans[cnt++] = a[pos1++];
while (pos2 < m) ans[cnt++] = b[pos2++];
printf("case %d: ", ++cs);
for (int i = 0; i < cnt; i++)
printf("\n");
}return
0;}
e.card game(first edition)
#include
#include
#include
#include
#include
using
namespace
std;
int main()
printf("case %d: %.2lf\n",++cas,1.0*n/2);
}return
0;}
f.card game(third edition}
#include
#include
#include
#include
#include
using
namespace
std;
int a[11111];
int b[11111];
int main()
printf("case %d: %d\n",++cas,ans);
}return
0;}
g.cutting game
#include
#include
#include
#include
#include
using
namespace
std;
int main()
}printf("case %d: %d\n",++cas,ans);
}return
0;}
h.picking game
i.two ********s
判斷全等三角形數量,需要除去手性對稱的情況。暴力。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long int
#define inf 0x3f3f3f3f
int x[20], y[20];
int n, t, ans, cnt, num;
int vis[20];
int len(int a, int b)
bool check(int &a, int &b, int &c)
else
if (tmp < 0)
else
return
0; a = l1;
b = l2;
c = l3;
return1;}
void slove(int a, int b, int c) }}
}int main()
ans = 0;
for (int i = 1; i <= n - 2; i++) }}
printf("case %d: %d\n", ++cs, 2 * ans);
}return0;}
//_crt_secure_no_warnings
j.x
多源最短路floyd,需要預處理路徑,然後記錄哪些路徑被使用了。
#include
#include
#include
#include
using
namespace
std;
const
int inf = 0x3f3f3f3f;
int mp[111][111];
int used[111][111];
int n,m;
void floyd()}}
}}struct node
len[40200];
int xmp[111][111];
int main()
}int now = 0;
for(int i=1;i<=m;i++)
}int cnt = 0;
/* for(int i=1;i<=n;i++)
}}*/
floyd();
int ans=0;
/* for(int i=1;i<=cnt;i++)*/
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
if(used[i][j]==1&&xmp[i][j]!=inf)
ans++;
printf("case %d: %d\n",++cas,ans+now);
}return
0;}
第七屆福建省賽RMQ with Shifts
這道題赤裸裸的線段樹,不過就是輸入有點難搞,加上錯的方式很離譜就寫上來了。坑 乙個陣列,求指定區間內的最小值,輸入 query 3,7 代表查詢第3至第7的最小值。shift 2,4,5,7 代表把第2 4 5 7上的數依次向左移動一位。每shift一次就更新線段樹一次 include includ...
第七屆福建省大學生程式設計競賽
b 計算得分的期望 include include include include using namespace std int main return 0 e 直接根據牌的數量來計算,直接拿n 0.5就是答案。include include include define iloveu retur...
2016 第七屆福建省大學生程式設計競賽
a.b.c.題意 兩人輪流玩卡片,共n 2張,每次隨機抽一張,比較大小,贏了的話加一分勝點,求fat brother的期望勝點。思路 兩人獲勝的期望是相等的,所以直接n 2就是結果了 include include using namespace std const int n 2e4 5 int ...