A.Supermarket (水题)
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
int main() {
int N,M;
double ans = 99999999;
while(~scanf("%d%d",&N,&M)) {
double a,b;
for(int i = 1; i <= N; i++) {
scanf("%lf%lf",&a,&b);
ans = min(ans,a*M/b);
}
printf("%.8lf\n",ans);
}
return 0;
}
B.
Perfect Number (水题:打表)
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
int arr[10005];
void createTable() {
int cnt = 1,sum;
for(int i = 1; i <= 11000000; i++) {
sum = 0;
int temp = i;
while(temp) {
sum += temp%10;
temp = temp/10;
}
if(sum == 10) {
arr[cnt++] = i;
}
}
}
int main() {
createTable();
int k;
while(~scanf("%d",&k)) {
printf("%d\n",arr[k]);
}
return 0;
}
C.
Seat Arrangements (水题模拟)
第一次提交的时候,自己测试数据过了,但是被别人hack了,发现了代码漏洞,攻击成功,才发现代码k=1的情况过不去,
然后重新改了改,提交过了。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std;
char Map[2002][2002];
int main() {
int N,M,k;
while(~scanf("%d%d%d",&N,&M,&k)) {
for(int i = 0; i < N; i++) {
scanf("%s",Map[i]);
}
int ans=0,cnt;
if(k == 1) {
for(int i = 0; i < N; i++) {
for(int j = 0; j < M; j++) {
if(Map[i][j] == '.') {
ans++;
}
}
}
printf("%d\n",ans);
continue;
}
for(int i = 0; i < N; i++) {
cnt = 0;
for(int j = 0; j < M; j++) {
if(Map[i][j] == '.') {
if(cnt == 0) {
cnt++;
}
else if(Map[i][j-1] == '.') {
cnt++;
}
else {
if(cnt>=k) {
ans += (cnt-k+1);
}
cnt = 1;
}
}
else {
if(cnt >= k) {
ans += (cnt-k+1);
}
cnt = 0;
}
}
if(cnt>=k) {
ans += (cnt-k+1);
}
}
for(int i = 0; i < M; i++) {
cnt = 0;
for(int j = 0; j < N; j++) {
if(Map[j][i]=='.') {
if(cnt == 0) {
cnt++;
}
else if(Map[j-1][i] == '.') {
cnt++;
}
else {
if(cnt>=k) {
ans += (cnt-k+1);
}
cnt = 1;
}
}
else {
if(cnt >= k) {
ans += (cnt-k+1);
}
cnt = 0;
}
}
if(cnt>=k) {
ans += (cnt-k+1);
}
}
printf("%d\n",ans);
}
return 0;
}