当前位置:网站首页>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;
}边栏推荐
- Coreldraw2022 new version new function introduction cdr2022
- Query the number and size of records in each table in MySQL database
- QML和QWidget混合开发(初探)
- Lombok原理和同时使⽤@Data和@Builder 的坑
- canal同步mysql数据变化到kafka(centos部署)
- flink sql 能同时读多个topic吗。with里怎么写
- After learning classes and objects, I wrote a date class
- IDEA编译JSP页面生成的class文件路径
- PTA tiantisai l1-078 teacher Ji's return (15 points) detailed explanation
- 2/12 didn't learn anything
猜你喜欢

Cross domain and jsonp details

Database - MySQL storage engine (deadlock)

Slow SQL fetching and analysis of MySQL database

关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解

Data processing methods - smote series and adasyn

Practical development of member management applet 06 introduction to life cycle function and user-defined method
![[network] channel attention network and spatial attention network](/img/b5/5e746f0dd6badcf0714cae05fc6e82.jpg)
[network] channel attention network and spatial attention network

Basic use of MySQL (it is recommended to read and recite the content)

Meet diverse needs: jetmade creates three one-stop development packages to help efficient development

How to realize automatic playback of H5 video
随机推荐
Data processing methods - smote series and adasyn
Brief tutorial for soft exam system architecture designer | general catalog
Can Flink SQL read multiple topics at the same time. How to write in with
Comprehensive ability evaluation system
Easyrecovery reliable and toll free data recovery computer software
Basic use of MySQL (it is recommended to read and recite the content)
Implementation of knowledge consolidation source code 2: TCP server receives and processes half packets and sticky packets
hashlimit速率控制
tengine 内核参数
【Try to Hack】john哈希破解工具
Stable Huawei micro certification, stable Huawei cloud database service practice
Figure application details
Is the mode of education together - on campus + off campus reliable
捷码赋能案例:专业培训、技术支撑,多措并举推动毕业生搭建智慧校园毕设系统
Coreldraw2022 new version new function introduction cdr2022
Mysql database storage engine
Dry goods collection | Vulkan game engine video tutorial
Yyds dry inventory automatic lighting system based on CC2530 (ZigBee)
Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization
Mysql数据库慢sql抓取与分析