该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
using namespace std;
template
class Optional
{
public:
T content; //盒子内容
bool isEmpty; //盒子是否为空
bool exists()
{
if(isEmpty==false)
{
return true;
}
else
{
return false;
}
}
void clear1()
{
isEmpty=true;
}
void set1(T t)
{
isEmpty=false;
content=t;
}
bool fun(T t)
{
return (t==content);
}
};
int main()
{
int n,i;
Optional A;
Optional B;
Optional C;
cin>>n;
for(i=0;i
{
int a,c;
char b;
cin>>a>>b>>c;
if(a==1)
{
if(b=='A')
{
if(c==1)
{
A.clear1();
}
else if(c==2&&!A.exists())
{
int k;
cin>>k;
A.set1(k);
}
else if(c==3&&A.exists())
{
int k;
cin>>k;
A.set1(k);
}
}
else if(b=='B')
{
if(c==1)
{
B.clear1();
}
else if(c==2&&!B.exists())
{
float k;
cin>>k;
B.set1(k);
}
else if(c==3&&B.exists())
{
float k;
cin>>k;
B.set1(k);
}
}
else if(b=='C')
{
if(c==1)
{
C.clear1();
}
else if(c==2&&!C.exists())
{
string k;
cin>>k;
C.set1(k);
}