【CF1027B】Numbers on the Chessboard(数学)
2024-10-02 06:46:50
题意:给定一个n*n的矩阵与生成矩阵的方式,多次询问同一个方格内(x,y)的数字是多少
题意:浪费人生的矩阵题,找规律
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef vector<int> VI;
#define fi first
#define se second
#define MP make_pair
#define N 410000
#define MOD 1000000007
#define eps 1e-8
#define pi acos(-1)
#define oo 110000000000000 char c[N][],a[N];
int b[N]; int read()
{
int v=,f=;
char c=getchar();
while(c<||<c) {if(c=='-') f=-; c=getchar();}
while(<=c&&c<=) v=(v<<)+v+v+c-,c=getchar();
return v*f;
} void swap(int &x,int &y)
{
int t=x;x=y;y=t;
} int main()
{
//freopen("1.in","r",stdin);
// freopen("1.out","w",stdout);
ll n;
int q;
scanf("%lld%d",&n,&q);
while(q--)
{
ll x,y;
scanf("%lld%lld",&x,&y);
ll s1=n%;
ll s2=x%;
ll s3=y%;
ll ans;
if(s1&&s2&&s3) ans=(x-)/*n+(y+)/;
if(s1&&s2&&s3==) ans=(n*n+)/+x/*n+y/;
if(s1&&s2==&&s3) ans=(n*n+)/+x/*n+y/-n/;
if(s1&&s2==&&s3==) ans=x/*n+y/-n/;
if(s1==&&s2&&s3) ans=(x-)/*n+(y+)/;
if(s1==&&s2&&s3==) ans=(n*n+)/+x/*n+y/;
if(s1==&&s2==&&s3) ans=(n*n+)/+x/*n+y/-n/+;
if(s1+s2+s3==) ans=x/*n+y/-n/;
printf("%lld\n",ans);
}
return ;
}
最新文章
- 转载:Hadoop排序工具用法小结
- C标准头文件<;signal.h>;
- js事件委托
- 【转】Java并发编程注意事项
- java分享第七天-03(递归打印文件目录的树状结构)
- WebLogic部署
- c# -- 对象销毁和垃圾回收
- Idea_Maven配置
- Java学习——Java运算符
- mysql 管理工具
- SQLite的介绍 操作Sqlite 具体实例
- 开发Android应用 提升性能的小技巧
- LeetCode OJ 53. Maximum Subarray
- 搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
- pta总结3
- Zabbix监控中,使用的比较好的动作信息模板
- Ajax替换局部DIV层
- Python pip 安装与使用
- windows无法安装到这个磁盘 gpt分区形式
- Orleans入门