916C - Jamie and Interesting Graph

思路:构造。

对于1到n最短路且素数,那么1到n之间连2

对于最小生成树,找一个稍微大点的素数(比1e5大)构造一个和为这个素数的最小生成树

剩下的边都连1e9

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a)) /*const int N=1e5+5;
const int M=1e7+7;
vector<int>vc;
bool not_prime[M];
void prime(){
for(int i=2;i<M;i++){
if(!not_prime[i])vc.pb(i);
for(int j=0;i*vc[j]<M;j++){
not_prime[i*vc[j]]=true;
if(i%vc[j]==0)break;
}
}
cout<<vc[vc.size()-1]<<endl;//9999991
}*/
int main(){
ios::sync_with_stdio(false);
cin.tie();
//prime();
int n,m,t=;
cin>>n>>m;
if(n==)cout<<<<' '<<<<endl;
else cout<<<<' '<<t<<endl;
cout<<<<' '<<n<<' '<<<<endl;
t-=;
for(int i=;i<n;i++){
if(i!=n-)cout<<<<' '<<i<<' '<<<<endl,t-=;
else cout<<<<' '<<i<<' '<<t<<endl;
}
m-=n-;
for(int i=;i<=n;i++){
if(m==)break;
for(int j=i+;j<=n;j++){
if(m==)break;
cout<<i<<' '<<j<<' '<<<<endl;
m--;
if(m==)break;
}
if(m==)break;
}
return ;
}

最新文章

  1. [Android Pro] PullToRefreshListView怎么设置各个item之间的间距
  2. Linux运维人员共用root帐户权限审计
  3. 加盐加密salt
  4. LoadRunner常见问题整理
  5. (C#)WinForm窗体间传值
  6. 5个缺失的 JavaScript 数字格式化函数
  7. oracle 笔记
  8. 给360的六条建议(禁止异地登录,普通用户500G足够用了)
  9. Android开源代码解读-基于SackOfViewAdapter类实现类似状态通知栏的布局
  10. c# 弹出框-后台调前台函数
  11. Android:Drag and Drop的应用
  12. Winpcap网络编程十之Winpcap实战,两台主机通过中间主机通信
  13. PDF解决方案(3)--PDF转SWF
  14. javascript高级程序设计 重读系列
  15. sersync+rsync同步
  16. 网络编程之套接字(udp)
  17. vue 创建项目
  18. webpack中配置Babel
  19. OC实现个人中心页面
  20. 走楼梯(walk) 解题报告

热门文章

  1. winfrom 下 listbox 选项添加value
  2. 009-hostname与/etc/hosts区别
  3. 004-ubuntu安装配置SSH服务
  4. Junit4用法
  5. 基于Axis1.4的webservice接口开发(代码开发)
  6. MIPSsim使用说明
  7. Linux基础命令---sum,cksum
  8. 我用了7年时间成长为阿里Java架构师,你呢?(附学习路线图)
  9. Centos6版本使用yum报错 Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfi Setting up Install Process No package gcc available. Error: Nothing to do
  10. 如何安装多个jdk