Devo simulare un flusso di traffico in 2-d dove vi sono due tipi di macchine (rosse e blu che possono muoversi solo in una determinata maniera in una matrice che rappresenta un toro,quindi tutti i lati sono collegati con gli opposti);di conseguenza userò una matrice di interi che possono essere 0,1,2; per aumentare la velocità di scorrimento della matrice creo due vettori di puntatori che ,uno punta alle celle della matrice con i numeri 1, e un altro alle celle della matrice con i numeri 2(in questo modo per spostare le macchine ,quindi gli 1 e i 2,non dovrò scorrere tutta la matrice ma solo i vettori di puntatori); il fatto è che la matrice deve essere letta da un file e quindi allocata dinamicamente.Visto che durante il programma la matrice sarà modificata solo attraverso i puntatori presenti nei due vettori , secondo voi la struttura che mi permette di lavorare con i puntatori alle celle della matrice nel migliore dei modi è un array 2d creato con la classe vector? Oppure conviene che crei io stesso una classe cercando dei metodi più veloci della classe vector?

Sono conscio del fatto che è poco comprensibile quello che ho scritto ma non saprei come spiegarmi meglio,ho le idee molto confuse su come partire ad implementare il programma