多校4 HDU-6077 Time To Get Up 模拟水题

xiaoxiao2021-02-28  86

原题链接:HDU-6077 大意:模拟即可。 思路:统计 7 个点。 打了23分钟.. 代码实现:

#include <bits/stdc++.h> using namespace std; typedef long long ll; #define mem(s,t) memset(s,t,sizeof(s)) #define D(v) cout<<#v<<" "<<v<<endl #define inf 0x3f3f3f3f //#define LOCAL inline void read(int &x){ x=0;char p=getchar(); while(!(p<='9'&&p>='0'))p=getchar(); while(p<='9'&&p>='0')x*=10,x+=p-48,p=getchar(); } void Print(int a,int b,int c,int d,int e,int f,int g){ if(a&&b&&c&&e&&f&&g&&!d) printf("0"); else if(!a&&!b&&c&&!d&&!e&&f&&!g) printf("1"); else if(a&&!b&&c&&d&&e&&!f&&g) printf("2"); else if(a&&!b&&c&&d&&!e&&f&&g) printf("3"); else if(!a&&b&&c&&d&&!e&&f&&!g) printf("4"); else if(a&&b&&!c&&d&&!e&&f&&g) printf("5"); else if(a&&b&&!c&&d&&f&&g&&e) printf("6"); else if(a&&!b&&c&&!d&&!e&&f&&!g) printf("7"); else if(a&&b&&c&&d&&e&&f&&g) printf("8"); else if(a&&b&&c&&d&&f&&g&&!e) printf("9"); } int main() { #ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif int t; read(t); while(t--){ string s[8]; for(int i=1;i<=7;i++){ cin>>s[i]; } //for(int i=1;i<=7;i++) D(s[i]); for(int i=0;i<20;i+=5){ int a=0,b=0,c=0,d=0,e=0,f=0,g=0; if(s[1][1+i]=='X') a=1; if(s[2][0+i]=='X') b=1; if(s[2][3+i]=='X') c=1; if(s[4][1+i]=='X') d=1; if(s[5][0+i]=='X') e=1; if(s[5][3+i]=='X') f=1; if(s[7][1+i]=='X') g=1; Print(a,b,c,d,e,f,g); if(i==5) printf(":"),i+=2; } puts(""); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-85691.html

最新回复(0)