纯粹思维题
#include <stdio.h>
#include <iostream>
#include <algorithm>
#define MME(i,j) memset(i,j,sizeof(i))
#include <string.h>
#define maxs 100100
#include <set>
using namespace std;
set<int>x,y;
int osx,osy;
__int64 ans[maxs];
int main()
{
int n,m;
while(~scanf("%d %d",&n,&m))
{
x.clear();
y.clear();
for(int i=0;i<m;i++)
{
scanf("%d %d",&osx,&osy);
x.insert(osx);
y.insert(osy);
ans[i]=(long long)(n-x.size())*(long long)( n-y.size() );
}
for(int i=0;i<m-1;i++)
printf("%I64d ",ans[i]);
printf("%I64d\n",ans[m-1]);
}
return 0;
}
本文通过一个具体的C++代码示例来探讨一种纯粹的思维题目解决方法,利用集合操作和循环来计算特定条件下的数值。文章展示了如何使用C++标准库中的set容器,并通过迭代输入数据来动态更新答案。
1483

被折叠的 条评论
为什么被折叠?



