題意:用給出的公式求出每個格子蘑菇的數值,求出現頻率最多的數值,如果存在出現頻率一樣的話並且還存在其他頻率,輸出頻率最多且一樣的數值,按升序,但要注意有且出現只有一種數值時,輸出這種數值。
思路:簡單模擬
代碼:
#include#include #include #include #include #include using namespace std; const int MAXN = 1e6; int vis[MAXN]; int n; int main() { int cas, t = 1; scanf(%d, &cas); while (cas--) { int n; scanf(%d, &n); memset(vis, 0, sizeof(vis)); int a, max = 0, cnt = 0, num = 0; for (int i = 0; i < n; i++) { scanf(%d, &a); a = 10000 - pow((100 - a), 2); if (!vis[a]) cnt++; if (max < a) max = a; vis[a]++; if (num < vis[a]) num = vis[a]; } printf(Case #%d: , t++); if (cnt * num == n && cnt > 1) { printf(Bad Mushroom ); continue; } int flag = 1; for (int i = 0; i <= max; i++) { if (vis[i] == num) { if (flag) { printf(%d, i); flag = 0; } else printf( %d, i); } } printf( ); } return 0; }