1 条题解
-
1
202603zj26张子瑞 (张子瑞) LV 9 @ 2026-06-03 13:31:37
so easy
#include <iostream> #include <string> #include <cstring> using namespace std; // 0~9标准点亮段 string std_seg[10] = { "ABCDEF", //0 "BC", //1 "ABDEG", //2 "ABCDG", //3 "BCFG", //4 "ACDFG", //5 "ACDEFG", //6 "ABC", //7 "ABCDEFG", //8 "ABCDFG" //9 }; // ans[0]A ans[1]B ... ans[6]G,初始全'-' char ans[7] = {'-','-','-','-','-','-','-'}; // 下标映射:A→0,B→1,C→2,D→3,E→4,F→5,G→6 int getidx(char c){ return c-'A'; } int main(){ int n; cin>>n; string log[105]; for(int i=0;i<n;i++){ cin>>log[i]; } // 枚举A~G每一根灯管 for(char ch='A';ch<='G';ch++){ int pos = getidx(ch); // 已经确定x/X就不用再改 if(ans[pos]!='-') continue; for(int i=0;i<n;i++){ string s = log[i]; int k = s[0]-'0'; //真实数字 string show = s.substr(1); //实际亮起的段 // ch是否是k标准该亮的 bool in_std = (std_seg[k].find(ch)!=string::npos); // ch是否实际亮起 bool in_show = (show.find(ch)!=string::npos); if(in_std && !in_show){ //本该亮却没亮 → 永久不亮 x ans[pos]='x'; break; } if(!in_std && in_show){ //不该亮却亮了 → 永久常亮 X ans[pos]='X'; break; } } } //依次输出A B C D E F G for(int i=0;i<7;i++) cout<<ans[i]; return 0; }
- 1
信息
- ID
- 3113
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 2
- 已通过
- 2
- 通过率
- 100%
- 上传者