当前位置:网站首页>Uva1592 Database
Uva1592 Database
2022-07-06 04:33:00 【Pecksniff. k】
The original title is :
Ideas : Use one IDcache To assign all strings ID, recycling pair Form a binary . Maintain left endpoint c1, Enumerate right endpoints c2, At the same time through row Scan the assigned from top to bottom id library . Query the first row That's ok pair(c1,c2) Whether it exists or not .
Code :
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>// aggregate
#include<map>// mapping
#include<vector>// vector
#include<utility>//pair
#define DEBUG
using namespace std;
map<string,int> IDcache;// Record ID
map<pair<int,int>,int> Binary_pair;// Record where the binary is row
int cnt=0;
int ID(string s)// Distribute ID
{
if(IDcache.count(s))
{
return IDcache[s];
}
else
{
return IDcache[s]=cnt++;
}
}
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
while(cin>>n>>m)
{
IDcache.clear();
Binary_pair.clear();
vector<vector<int>> dict(n,vector<int>(m));// Deposit ID
string s;
cnt=0;
cin.get();// Eliminate line breaks
for(int i=0;i<n;i++)
{
getline(cin,s);
for(int j=0;j<s.length();j++)
{
if(s[j]==',')
{
s[j]=' ';// Replace commas with spaces
}
else if(s[j]==' ')
{
s[j]=',';// Replace the space with an impossible comma
}
}
stringstream ss(s);// Character stream
for(int j=0;j<m;j++)
{
string cur;
ss>>cur;
dict[i][j]=ID(cur);
}
}
#ifndef DEBUG// Debug statement
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<dict[i][j]<<" ";
}
cout<<endl;
}
#endif
if(m>1)
{
for(int c1=0;c1<m-1;c1++)// Maintain left endpoint
{
for(int c2=c1+1;c2<m;c2++)// Enumerate right endpoints
{
Binary_pair.clear();
for(int row=0;row<n;row++)// Traverse from top to bottom
{
pair<int,int> temp(dict[row][c1],dict[row][c2]);
if(Binary_pair.count(temp))// Is not Peter normal form
{
cout<<"NO"<<endl;
cout<<Binary_pair[temp]+1<<" "<<row+1<<endl;
cout<<c1+1<<" "<<c2+1<<endl;
goto out;// Jump out of multiple loops
}
else
{
Binary_pair[temp]=row;
}
}
}
}
}
cout<<"YES"<<endl;
out:;
}
return 0;
}
边栏推荐
- SharedPreferences source code analysis
- Lambda expression learning
- JVM garbage collector concept
- HotSpot VM
- ue5 小知识点 开启lumen的设置
- 【Try to Hack】john哈希破解工具
- Explain in simple terms node template parsing error escape is not a function
- 关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
- 10 exemples les plus courants de gestion du trafic istio, que savez - vous?
- The value of two date types is subtracted and converted to seconds
猜你喜欢
CADD course learning (7) -- Simulation of target and small molecule interaction (flexible docking autodock)
Deep learning framework installation (tensorflow & pytorch & paddlepaddle)
VNCTF2022 WriteUp
Stable Huawei micro certification, stable Huawei cloud database service practice
How to solve the problem of slow downloading from foreign NPM official servers—— Teach you two ways to switch to Taobao NPM image server
Vulnerability discovery - vulnerability probe type utilization and repair of web applications
MLAPI系列 - 04 - 网络变量和网络序列化【网络同步】
canal同步mysql数据变化到kafka(centos部署)
关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
查询mysql数据库中各表记录数大小
随机推荐
Query the number and size of records in each table in MySQL database
During pycharm debugging, the view is read only and pause the process to use the command line appear on the console input
Stable Huawei micro certification, stable Huawei cloud database service practice
ue5 小知识 FreezeRendering 查看视锥内渲染的物体
SharedPreferences 源码分析
[Yu Yue education] reference materials of complex variable function and integral transformation of Northwestern Polytechnic University
Stable Huawei micro certification, stable Huawei cloud database service practice
Explain in simple terms node template parsing error escape is not a function
E. Best Pair
NPM command -- install dependent packages -- Usage / explanation
In depth MySQL transactions, stored procedures and triggers
[leetcode question brushing day 33] 1189 The maximum number of "balloons", 201. The number range is bitwise AND
Case of Jiecode empowerment: professional training, technical support, and multiple measures to promote graduates to build smart campus completion system
2/11 matrix fast power +dp+ bisection
Crawler notes: improve data collection efficiency! Use of proxy pool and thread pool
Can CDC pull the Oracle table in full
ue5 小知识点 开启lumen的设置
解决“C2001:常量中有换行符“编译问题
Dry goods collection | Vulkan game engine video tutorial
After learning classes and objects, I wrote a date class